function foo() { setTimeout(() => { console.log('id:', this.id); }, 100); }var id = 21; foo.call({ id: 42 });// id: 42
箭头函数内部的this是指向定义时所在的对象,不是执行时所在的对象。按照这个道理的话,setTimeout内部的函数不管是不是箭头函数应该都是指向window啊。定义的时候,内部的this不应该指向window,执行的时候才是指向调用的对象{ id: 42 }吗?求教
相关分类