不得不了解的前端问题02(面试大典)--匿名函数、html/css注意事项、css兼容

1、闭包、作用域
闭包就是有权访问另一个函数内部变量的函数。
这些函数定义的自由变量能不被释放。
保护了函数内部变量的安全性,太大会造成内存大量占用。

(1)闭包的第一个用途,其实上面已经提到了,就是产生它意义:可以读取函数内部的变量。
(2)闭包的第二个用途,那就是:可以让这些变量的值始终保持在内存中。
例如:
  function f1(){  
         var n=999;  
         nAdd=function(){  
             n+=1  
         }  
         function f2(){  
       alert(n);  
     }  
         return f2;  
    }  
     var result=f1();   //把f1函数的返回值(而这个返回值是函数f2的形式)给result  
     result();          // 999   输出这个f2的返回值  
     nAdd();            //调用nAdd函数  
     result();          // 1000  这里就是闭包的第二个用途:f2这个闭包会让变量n的值始终保存在内存中  




2、 匿名函数是什么,有什么作用
没有名字的函数。
function (){}
new Function(){}
不会造成全局变量的污染


3、 列举一些语义化标签
H5:<article> <section> <header><footer>
<p><ul><table><caption><address>


4、 编写HTML时需要考虑哪些问题
推荐html5声明文档
推荐使用UTF-8编码
img添加alt属性,增加可访问性。
采用栅格化处理。
书写注释
标签正确嵌套,一定要闭合。
用div等布局
代码采用树形结构,提高可读性。
模块之间必须保持独立,区块化布局。


5、 与前端开发关系比较紧密的HTTP状态码
1XX  表示消息
2XX  表示成功
3XX  表示重定向
4XX  表示请求错误
5XX  表示服务器端错误


200  请求正常
400  出现语法错误
404  无法找到指定位置资源
500 服务器遇到了意料不到的情况,不能完成客户的请求




6、写出常用的css  hack
  _          IE6
   *            IE6/7
  !important  IE7/Firefox
   *+          IE7
  \9          IE6/7/8
   \0          IE8
 条件hack
      <!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7"><![endif]--> IE7以下版本
      <!--[if IE 7]><html class="no-js lt-ie9 lt-ie8"><![endif]--> IE7
      <!--[if IE 8]> <html class="no-js lt-ie9"><![endif]--> IE8
      <!--[if gt IE 8]><!--><html class="no-js"><!--<![endif]--> IE8以上

7、IE浏览器下css兼容问题。
(1)、margin加倍:
在IE6下,div设置float时,左(右)margin会加倍。
解决方法:在这个div加上display:inline;
(2)、IE6 3px bug
当浮动元素和非浮动元素相邻时,会出现3px空隙。
解决方法:将非浮动元素添加float属性。
(3)、div包含img时,底部会出现留白。
解决方法:设置img元素为display:block;


8、编写css时需要考虑哪些问题

慎用 !important
建议使用具有语义化的classname或id
:link :visited :hover :active书写顺序
谨慎添加新的选择符规则,尤其不可滥用 id,尽可能继承和复用已有样式
不要用@import

属性写在一行内,属性之间、属性名和值之间以及属性与“{}”之间应减少空格,去掉最后一个“;”


9、求表达式的值
typeof([])   object
typeof({}) object
typeof(null) object
typeof(NaN) number
typeof((“abcd”)*1) number
typeof((“abcd”)+1) string
NaN == NaN   false
! NaN==! NaN true


10、
函数表达式:
var  fnName= function(){}
函数声明
function fnName(){}
函数声明会在代码执行以前加载到作用域中,函数表达式需要等到执行到该行才会加入到作用域中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
职业分类大典 PDF是一本以电子文档形式存在的职业分类参考手册。这本大典旨在帮助人们更好地了解和掌握各种职业的分类和特点。在这本PDF文档中,人们可以找到各种职业的详细分类及其相关信息。 职业分类大典中的职业分类是基于一定的标准和规定进行划分的。这些标准可能包括职业所需的技能、培训要求、工作内容和职责等。职业分类的目的是为了更好地组织和管理各种不同类型的职业,并为人们提供一个参考框架,帮助他们更好地选择适合自己的职业。 这本大典的PDF版本具有很多优点。首先,它方便了用户的使用和存储。用户可以将这本电子书保存在电脑、手机或其他设备上,在需要时随时查阅。其次,PDF格式保留了原始文档的布局和格式,使得用户可以更清晰地阅读和理解文本内容。 职业分类大典PDF的内容非常丰富和全面。它涵盖了各个行业和领域的职业分类,包括但不限于医疗、教育、管理、金融、艺术等。每个职业分类下都会有对该职业的说明和介绍,包括该职业的工作职责、薪资水平、发展前景等相关信息。 总结而言,职业分类大典PDF是一个方便实用的职业分类参考手册。它帮助人们更好地了解和选择适合自己的职业,并提供了详细的职业分类信息作为参考。无论是在职场新人还是职业规划者,这本大典都可以帮助他们更好地了解职业分类和各个职业的特点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值