今日面试三题
1. 如果子元素都为浮动,不能解决父类高度塌陷问题的是()
A.给父元素添加 clear: both;
B.给父元素添加overflow: hidden;
C.在浮动元素下方添加空div,并添加样式clear: both;
D.设置父元素:after{content: “”;clear: both; display:block;overflow: hidden;}
正确答案为:A
解析:清除浮动可以使用在父元素中创建BFC(块级格式化上下文),这样父元素再计算高度的时候就会将浮动计算在内,这是BFC规则之一。而另一种方法就是利用clear: both清除,而这种方法又可以分为空元素设置与伪元素设置。
2
.(function(){
var a = b = 100;
})();
console.log(typeof a);
console.log(typeof b);
A.number,number
B.undefined,undefined
C.undefined,number
D.number,undefined
正确答案:C
解析:立即执行函数是一个块级作用域,所以我们在window全局环境下是访问不到里面的变量和方法的,因为var a = b =100;相当于 b = 100;var a = b;因为b没有通过var声明,所以b是一个全局属性,我们可以在全局环境下通过window.b访问到,所以typeof(a)为undefined,typeof(b)为number
3.
var strNumber = ‘200’;
var intNumber = 100;
console.log(strNumber + intNumber);
console.log(strNumber - intNumber);
console.log(strNumber / intNumber);
A.200100,100,2
B.200,100,2
C.200,200,undefined
D.undefined,200,2
正确答案:A
解析:strNumber是string类型进行+运算时,是进行字符串拼接 所以strNumber + intNumber=200100,而 - 运算和 / 运算并没有这种规则 就直接运算