我們如何初始化一個javascript
使用函數的對象屬性? 一個我是想,但沒有被提到如下:Javascript對象屬性初始化
var myObject = {
quatntity: 3,
toalAmount: function() {
return 599*this.quatntity;
}
請你可以建議做同樣的正確方法。
我們如何初始化一個javascript
使用函數的對象屬性? 一個我是想,但沒有被提到如下:Javascript對象屬性初始化
var myObject = {
quatntity: 3,
toalAmount: function() {
return 599*this.quatntity;
}
請你可以建議做同樣的正確方法。
您需要創建一個getter來讀取文字中的同級值。
您忘記了get
操作:
var ob={
quatntity: 3,
get toalAmount() {
return 599*this.quatntity;
}
};
alert(JSON.stringify(ob));
對他們漂亮的部分是,toalAmount
會自我更新爲其他值的值更改,但它仍然是序列化,能。
很多鄉親忘記干將,或認爲這是一個ES6的事情(有點貌似),但由於IE8/ES5他們已經出現......
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get
您可能還需要簡單地把它作爲一種傳統的方法,你需要「()」來使用,特別是如果你不需要JSON來包含這個值。
你缺少一個右括號:
var myObject = {
quatntity: 3,
toalAmount: function() {
return 599*this.quatntity;
}
}
您現在可以通過調用myObject.toalAmount()
或者檢索該值,你可以設置一個get
運營商(如dandavis建議)來檢索值myObject.toalAmount
備註 - 你應該檢查你的拼寫:
要初始化對象字面方式。您可以通過使用一個功能做到這一點:
var myObject = function(){
var quantity = 3; //private variable
return {
totalAmount: function(){
return 599*quantity;
}
}
}()
的通知()的函數結束,所以我們在呼喚它,結果賦給mybject。如果你想修改數量變量,你可以在返回值創建函數二傳手:
var myObject = function(){
var quantity = 3; //private variable
return {
totalAmount: function(){
return 599*quantity;
},
setQuantity: function(value){
quantity = value;
}
}
}()
您還可以創建一個構造函數,並使用new
到實例的新對象:
var MyObject = function(){
this.quantity = 3; //public variable
this.totalAmount = function(){
return 599*this.quantity;
}
}
var myObject = new MyObject();
myObject.totalAmount(); //1797
的構造函數通常用大寫字母書寫。
當您使用功能的一個對象,this.
前綴的變量將是公開的,var
將私人
我看不出有任何的問題在這裏;什麼不是你認爲應該發生的事情? – ndugger