鍍金池/ 問(wèn)答/HTML5  HTML/ js中關(guān)于this指向的問(wèn)題

js中關(guān)于this指向的問(wèn)題

var myNumber = {
  value: 1,
  add: function(i){
    var helper = function(i){
        console.log(this);
          this.value += i;
    }
    helper(i);
  }
}
myNumber.add(1);

請(qǐng)問(wèn)這個(gè)this為什么指向window?myNumber對(duì)象調(diào)用的add方法,方法內(nèi)的this為什么不指向myNumber對(duì)象呢?

回答
編輯回答
青裙

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

2018年2月25日 03:02
編輯回答
執(zhí)念

每個(gè)函數(shù)都有自己的作用域,addhelper都有自己的作用域;
你修飾性的調(diào)用add,add作用域內(nèi)的thismyNumber,而這個(gè)作用域內(nèi)的helper函數(shù)再調(diào)用時(shí),沒(méi)有任何修飾和顯示傳入this,那么按照規(guī)則,helper內(nèi)的this指向全局window

2017年1月15日 20:19