foo2()采用了箭頭函數。按照對call的理解,foo.call({id:23})應該輸出23,而不是0。所以,誰能解釋一下嗎?代碼如下:<script type="text/javascript"> function foo() { setTimeout(function (){ console.log('id1:', this.id); }, 100); } function foo2() { setTimeout(() => { console.log('id2:', this.id); }, 100); } var id = 0; foo.call({id:23}); foo2.call({id: 2});</script>執行結果:02
js call的一個問題,很簡單的代碼,輸出結果如何解釋?
慕桂英546537
2018-11-16 18:14:47