前言:
昨天面了美团一面,题目都是基础题,比较简单,但是我答得并不好,感觉还是理解的不够透彻,答案都说的不对,还在一本正经的解释...现在想想,面试小姐姐没笑话死我,哎。
下面是问到的一些题目。
1、盒模型问题
(1)问: 标准盒模型下红色区域有多宽?
<div style="width:100px;background:red;padding:10px;height:100px"></div>
我当时说的100px,只知道content的宽应该是100px,但是实际上padding在什么情况下都是有背景色的!所以应该是120px。
(2)问:IE盒模型下呢?
我说的120px......今天一想不对呀,content的宽度应该是(100 - 2*10)= 80px,那么背景色宽度就是100px。都答错了,还在一本正经的解释盒模型是什么什么。。。
2、this的指向问题
(1)问:打印的this分别是什么?
let obj = {
name: '小明',
foo: function () {
console.log(this, '1');
},
foo1: function () {
console.log(this, '2');
// let that = this;
setTimeout(function (){
this.foo();
}, 0);
}
}
obj.foo1();
我说第一个(foo)里的打印的window,第二个打印的obj。
但是后来一想,不对呀,第二个是obj没问题,但是在setTimeout内部,是回调函数,this指向window,所以this.foo();就会报错了,因为window下是没有foo函数