1.参考大神: https://juejin.cn/post/7016593221815910408
笔试
var a = 'w'
let obj = {
a: 'o',
print: function() {
console.log(this.a)
},
print2: () => {
console.log(this.a)
}
}
let p = obj.print;
let p2 = obj.print2;
obj.print(); // 'o'
obj.print2(); // 'w'
p() // 'w'
p2() 'w'
第一个函数执行时this是 执行obj,所有值为 obj里面a 变量的值即o,其余函数的this 都指向了 window, 由于变量a是由var 声明的,所以window 下面有这个变量,所以输出 w