FAQ前端面试大杂烩5

来源:互联网 发布:手机变电脑的软件 编辑:程序博客网 时间:2024/06/04 18:51

一 : css3
这里写图片描述

1 border:0 ; border:none; 两者区别:

性能差异:

  【border:0;】把border设为“0”像素效果等于border-width:0,浏览器依然对border-width、border-color进行了渲染,即已经占用了内存值。

  【border:none;】把border设为“none”,实际效果等同于border-style:none,浏览器解析“none”时将不作出渲染动作,即不会消耗内存值。

兼容性差异:

  【border:none;】IE6、IE7中,border为“none”时,标签button、input边框依然存在。
  这里写图片描述

  【border:0;】当border为“0”时,感觉比“none”更有效,所有浏览器都一致把边框隐藏
这里写图片描述

总结:

  对比border:0;与border:none;之间的区别在于有渲染和没渲染,感觉他们和display:none;与visibility:hidden;的关系类似。

  对于border:0;与border:none;个人更向于使用,border:none;,因为border:none;毕竟在性能消耗没有争议,而且兼容性可用背景属性解决不足以成为障碍。就是同设置{border:none;background:none;} 就可以解决兼容性问题了
2 图片底部有间隙

这个问题之前讲过哎,是因为图片是内联元素,默认属性
vertical-align:baseline; 造成的。可以将其display:block;

另一种方法是变化 vertical-align:middle/top/bottom 都可

或者你可以设置 文字大小为0 font-size:0;

3 css3中最消耗性能的几个属性:
这里写图片描述

4 关于flash使用z-index 无效的问题

点击这里看解决方案

1 字符串连接问题‘
这里写图片描述

这里写图片描述

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

2 boolean false问题
这里写图片描述

当一个值为false的Boolean对象放到条件语句当中的时候,Boolean对象的值会被当作true来计算,但是它本身的值并没有改变,依然是false。

3 function
这里写图片描述
答案是error 。

这里写图片描述

click me to see more explain

4 判断下面应该输出的是什么

console.log( typeof(1)   ); // numberconsole.log(  typeof(NaN)  ); //numberconsole.log(  typeof(Number.MIN_VALUE)  ); //numberconsole.log(  typeof(Infinity)  );//numberconsole.log( typeof("123")   );//stringconsole.log(   typeof(true) ); //booleanconsole.log(  typeof(window)  ); //objectconsole.log(   typeof(document) ); //objectconsole.log( typeof(null) ); //objectconsole.log( typeof(eval) ); //functionconsole.log( typeof(Date) ); //functionconsole.log( typeof(sss) ); //undefinedconsole.log( typeof(undefined) ); //undefined

解析:


typeof是一个一元运算符,它返回的结果始终是一个字符串,对不同的操作数,它返回不同的结果。
具体的规则如下:
一、对于数字类型的操作数而言, typeof 返回的值是 number。比如说:typeof(1),返回的值就是number。
上面是举的常规数字,对于非常规的数字类型而言,其结果返回的也是number。比如typeof(NaN),NaN在
JavaScript中代表的是特殊非数字值,虽然它本身是一个数字类型。
在JavaScript中,特殊的数字类型还有几种:
Infinity 表示无穷大特殊值
NaN            特殊的非数字值
Number.MAX_VALUE     可表示的最大数字
Number.MIN_VALUE     可表示的最小数字(与零最接近)
Number.NaN        特殊的非数字值
Number.POSITIVE_INFINITY 表示正无穷大的特殊值
Number.NEGATIVE_INFINITY 表示负无穷大的特殊值

以上特殊类型,在用typeof进行运算进,其结果都将是number。

二、对于字符串类型, typeof 返回的值是 string。比如typeof(“123”)返回的值是string。
三、对于布尔类型, typeof 返回的值是 boolean 。比如typeof(true)返回的值是boolean。
四、对于对象、数组、null 返回的值是 object 。比如typeof(window),typeof(document),typeof(null)返回的值都是object。
五、对于函数类型,返回的值是 function。比如:typeof(eval),typeof(Date)返回的值都是function。
六、如果运算数是没有定义的(比如说不存在的变量、函数或者undefined),将返回undefined。比如:typeof(sss)、typeof(undefined)都返回undefined。

5 h5新增的表单元素
http://blog.csdn.net/chenyufeng1991/article/details/48808039

6 函数覆盖

这里写图片描述

Js中函数没有重载的概念,所以同名函数,最后一个会覆盖前一个

7 bootstrap
这里写图片描述

这个第四个选项,盒模型问题

content-box: padding和border不被包含在定义的width和height之内。对象的实际宽度等于设置的width值和border、padding之和,即 ( Element width = width + border + padding ) 此属性表现为标准模式下的盒模型。border-box: padding和border被包含在定义的width和height之内。对象的实际宽度就等于设置的width值,即使定义有border和padding也不会改变对象的实际宽度,即 ( Element width = width ) 此属性表现为怪异模式下的盒模型。

关于选项AB ,看看网页中对于栅格的样式截图如下

这里写图片描述

为了创建列(colume)之间的间隔 需要设置padding,。因为使用的是怪异盒模型,所以设置的padding可以撑出间隙来

0 0
原创粉丝点击