document.getElementById( 'div1' ).onclick = function(){
console.log( this.id );
var func = function(){
console.log ( this.id );
}
func();
};
请问上面func中的this为什么会指向window?
我的理解是func执行时所在的上下文环境是onclick函数。所以this应该指向该函数,同样的下面的函数我倒是很好理解,因为定时器延迟了函数的执行,所以里面的this应该指向window,但是上面的函数没有定时器啊
function foo() {
setTimeout(() => {
console.log('id:', this.id);
}, 100);
}
var id = 21;
foo(); //21(没有用call)
相关分类