使用「這個」。在 Javascript 物件變數中
在 Javascript 中,與 C 不同,變數必須明確地以「this」作為前綴。來引用它們所屬的物件。這是兩種語言之間物件導向程式設計的一個關鍵區別。
Javascript 中的「this」關鍵字表示當前上下文,即呼叫函數的物件。當您宣告一個沒有「this.」的變數時,它就成為該函數範圍內的局部變數。若要從函數內存取物件的屬性,您需要使用“this”。後跟屬性名稱。
考慮以下程式碼:
function foo() { bar = 0; // This creates a local variable this.getBar = function() { return bar; } // This creates a privileged method }
在此程式碼中,「bar」是「foo」函數中的局部變量,而「getBar」是有權存取局部變數的特權方法。如果不使用“this.”,“getBar”將無法存取“bar”。
這種使用「this.」的方法。對於要從物件方法內存取的所有變數都是必需的。但是,Javascript 允許您在原型物件而不是實例物件上定義方法。原型上定義的方法由該物件的所有實例繼承。在這種情況下,您可以避免使用“this”。對於那些方法。以下是一個例子:
function Foo() { this.bar = 0; } Foo.prototype.getBar = function() { return this.bar; }
在這段程式碼中,「getBar」是在原型上定義的,因此「Foo」的實例繼承了這個方法,並且可以存取「bar」而無需添加“this”前綴。
簡而言之,使用「this」。對於從實例物件內部定義的函數/方法存取物件屬性至關重要。但是,可以透過在原型上定義方法來避免這種情況。
以上是何時以及為何需要使用「this」。 JavaScript 物件變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!