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 }嗎?求教
箭頭函數this指向的問題
慕尼黑8549860
2019-03-19 19:20:54