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

react-native里关于this的一个问题

react-native里关于this的一个问题

回首忆惘然 2019-03-07 14:15:40
为了方便截图,我把多余的代码省掉了初学react-native,问题如下:我知道图中画圈的这两个this都是指向的LoginForm实例,但是为什么要加这个this呢?function foo1(){    console.log('sssss');}function foo2(){    this.foo1();}foo2();---------------function foo1(){    console.log('sssss');}function foo2(){    foo1();}foo2();就像上面两端代码一样,无论加不加this都没有影响函数的调用。所以我觉得不用加this,render()函数都可以在里面调用renderButton()函数????
查看完整描述

2 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

当一个对象调用静态或原型方法时,如果该对象没有“this”值(或“this”作为布尔,字符串,数字,未定义或null)
,那么“this”值在被调用的函数内部将为
undefined。不会发生自动包装。即使我们以非严格模式编写代码,它的行为也是一样的,因为所有的函数、方法、构造函数、getters或setters都在严格模式下执行。因此如果我们没有指定this的值,this值将为undefined。

class 内部的所有方法都是默认的严格模式,默认的this不是window(不存在class的时候),而是undefined,所以必须要手动制定this,手动绑定。


查看完整回答
反对 回复 2019-03-22
  • 2 回答
  • 0 关注
  • 543 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信