所以我的問題是當在方法中使用對象字面量時我看到人們在做'this.something = ...'在對象字面量中調用了什麼?
然後在整個對象中引用它。這是什麼名字?
例如,在下面的例子中,如果你看'CacheDom'方法'this.button = document.getElementById('submit')'給了我們一個參考,我們可以在以後使用。
我理解'this'關鍵字的基礎知識,並且在一個對象內部它會引用該對象,但是我發現能夠存儲元素等並且稍後參考它們是很奇怪的。
基本上這是什麼官方術語?
感謝
https://jsfiddle.net/rvs6ymqj/
HTML
<body>
<button id="submit" type="submit">Submit</button>
</body>
JS
var obj = {
init: function() {
this.cacheDom();
this.bindEvents();
},
cacheDom: function() {
this.button = document.getElementById('submit');
},
bindEvents: function() {
this.button.addEventListener("click", function() {
console.log("we clicked the button");
})
}
}
obj.init();
面向對象的編程? –
'this'的官方稱謂是「this」。有些人說「背景」,這不是官方的或精確的。更正確的可能是「接收者」,但這也不是官方的。 *「但我覺得很奇怪,是能夠存儲元素等,後來引用它們」 *如果值'this'是一個對象(它不必是),那麼你只是指定屬性的對象。這與使用'obj'而不是'this'不同,'obj.foo = 42;'(如果'obj'指向一個對象)。 –
嘿,是的,當你說'把屬性賦值給一個對象'時它是有意義的。我認爲這是因爲我習慣於總是使用冒號定義我的屬性,而不是像這樣添加它們。 謝謝! –