Я покажу код непосредственно:`this` и область применения в Javascript обратного вызова
disable: function(e){
that = this;
var haha = this;
$.post(url, function(){
console.log(this);// (why ajax object here?
console.log(that);// (I understand this one works
console.log(haha);// ReferenceError
})
}
Что я запутаться здесь есть:
- Почему
this
в обратном вызове не относится к внешним одной? Я думаю,this
в обратном вызове следует за обязательной привязкой по умолчанию. - Почему
haha
не упоминается какthat
do? Я думаю, что когдаhaha
не найден в локальной области, он перейдет в внешний охват.
Я знаю, что использование that
не является хорошим способом. Вот почему я попробовал haha
, но это не удалось.
Что такое "по умолчанию связывающей роли"? – millimoose
'haha' должен ссылаться на тот же объект .... также есть ошибка в коде, так как' that' не является локальным для метода 'disable', другой скрипт может изменить его значение –
http: // jsfiddle. net/arunpjohny/v1ejqxwd/1/ –