[英]Can I define a property within an object prototype (method)?
問題第1部分:我已經創建了一個包含屬性的對象構造函數,但我想知道是否可以在其中一個方法中定義該對象的另一個屬性。 例如:
var Player = function(p1) {
this.property1 = p1;
this.property2 = 0;
}
那么,我可以在一個方法中定義this.property3
,如:
Player.prototype.drawMethod = funtion() {
this.property3 = 1;
}
並讓它可訪問,如:
var obj = new Player(true);
if (obj.property3 ===1 && obj.property1 === 1) {
//code
} else {
obj.property3 = obj.property2;
}
問題第2部分:此外,屬性是否被接受為函數,我將使用以下方式調用它們:
this.func = function() {
//code
}
...
obj.func();
我想知道我是否可以在其中一個方法中定義對象的另一個屬性
是的你可以。
但請注意,這被認為是錯誤的樣式,因為它在單個點(構造函數)中不可見實例將具有的屬性。 眾所周知,引擎也不會優化這種情況 - 它們為構造函數創建的對象形狀保留了必要的空間,並在實例化后需要一些額外的工作來更改它。
屬性是否會被接受為函數,我會稱之為[類似方法]嗎?
是。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.