为了账号安全,请及时绑定邮箱和手机立即绑定

this.name

我setInterval里面的this.name是undefined;有没有一样情况的?

正在回答

1 回答

JavaScript里,this的值在函数被调用的时候才会指定。 顶级的非方法式调用会将 this视为window。 (注意:在严格模式下, thisundefined而不是window)。 箭头函数能保存函数创建时的 this值,而不是调用时的值。这是来自ts官网的解释。

1 回复 有任何疑惑可以回复我~
#1

Timi_Sakura

把getStock()当作构造函数的时候,this指向的是一个空对象。然后进入匿名函数时,会形成一个闭包环境,此时调用匿名函数的就是空对象,所以匿名函数中的this应该指向空对象,并且每次循环都读取到闭包环境下的name属性。是不是这样啊。
2019-03-02 回复 有任何疑惑可以回复我~
#2

Timi_Sakura

我debug了一下,明白了,谢谢。
2019-03-02 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
TypeScript入门
  • 参与学习       59374    人
  • 解答问题       99    个

TypeScript入门视频教程包括TypeScript的基本概念、常用语法和高级特性

进入课程
意见反馈 帮助中心 APP下载
官方微信