基本上,我希望「theId」等於「getId」返回的值。但是如何?「OOP」-JS - set properties等於函數
var Quiz = {
getId : function() {
var params = 1;
return params;
},
theId : getId(),
};
基本上,我希望「theId」等於「getId」返回的值。但是如何?「OOP」-JS - set properties等於函數
var Quiz = {
getId : function() {
var params = 1;
return params;
},
theId : getId(),
};
對象文本不能參考其自身內的屬性/方法,因爲在文字被評估對象中的對象不存在的時間。你必須做的兩個步驟:
var Quiz = {
getId : function() {
var params = 1;
return params;
}
};
Quiz.theId = Quiz.getId();
需要注意的是,設置theId
到任何getId()
當時返回,它,如果你的真實世界的功能更不會莫名其妙地自動更新theId
動態比你的例子,每次調用時都可能返回不同的值。
或者,如果函數是在對象之前聲明的,你可以同時創建兩個對象屬性,一個是對函數的引用,另一個是調用它的結果。
似乎有點像Self-references in object literal declarations重複,但你可以使用一個簡單的getter function你的財產:
var Quiz = {
get theID() {
var params = 1;
return params;
}
};