- jscall的一个问题,很简单的代码,输出结果如何解释?
-
聚码交流
-
0
1

- yhuxAvNbtxUM
0000-00-00 00:00:00
- 回帖
foo2()采用了箭头函数。按照对call的理解,foo.call({id:23})应该输出23,而不是0。所以,谁能解释一下吗?代码如下:<scripttype="text/javascript">functionfoo(){setTimeout(function(){console.log('id1:',this.id);},100);}functionfoo2(){setTimeout(()=>{console.log('id2:',this.id);},100);}varid=0;foo.call({id:23});foo2.call({id:2});</script>执行结果:02