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
添加回答
举报
0/150
提交
取消
