为了方便截图,我把多余的代码省掉了初学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,手动绑定。
添加回答
举报
0/150
提交
取消