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

js中关于this指向的问题

js中关于this指向的问题

呼啦一阵风 2019-03-12 17:19:04
var myNumber = {  value: 1,  add: function(i){    var helper = function(i){        console.log(this);          this.value += i;    }    helper(i);  }}myNumber.add(1);请问这个this为什么指向window?myNumber对象调用的add方法,方法内的this为什么不指向myNumber对象呢?
查看完整描述

2 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

每个函数都有自己的作用域,addhelper都有自己的作用域;
你修饰性的调用addadd作用域内的thismyNumber,而这个作用域内的helper函数再调用时,没有任何修饰和显示传入this,那么按照规则,helper内的this指向全局window

查看完整回答
反对 回复 2019-03-24
?
Qyouu

TA贡献1786条经验 获得超11个赞

myNumber.add(1)得到helper函数,helper(i)就是window.helper(i),所以this指向window


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

添加回答

举报

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