Хорошо, я просматривал ваш код, чтобы увидеть, что вы конкретно имеете в виду
Вот краткое объяснение того, почему ЭТО отличается в некоторых местах
Это ключевое слово относится к объекту, к которому оно принадлежит. Обычно вы используете его для ссылки на объект глобального окна. Это то, что отражается в журнале вашей консоли 1,2,3.
Вызов this в статическом объекте javaScript вернет объект javaScript, а не объект окна, который отражается в console.log(this,4)
.
Так что это дает вам возможность вызывать элементы внутри статического объекта. Другой способ понять ключевое слово this
- посмотреть на конструкторы. Лучший пример ключевого слова
this
находится внутри функции конструктора
var myObj = function(){
function myObj(ref)
{
this.name = "";
this.Item = "";
this.ref = ref;
this.speak();
}
myObj.prototype.speak =function()
{
this.name = 'James';
this.item = 'cheese';
console.log(this.ref)
//and the constuctor object
console.log(this)
}
return myObj;
}();
var e = new myObj('a Refrence string');
Это должно дать вам общее представление о том, как это работает
здесь есть дополнительная информация, чтобы вы начали Wschools.com