[英]Give an array a value and a list inside of it
我希望在數組中的項目內創建一個列表,但仍保留該項目的值? 有沒有辦法做到這一點?
resources: {
hyphens: 0{
rate: 0
},
ores: 0,
pitchforks: 0
我希望resources.hyphens
返回一個數字,因為我在其他文件中引用了很多。 但我也希望能夠從諸如resources.hyphens.rate
東西中召回一個值,該值是在resources.hyphens
播種的。 有什么辦法嗎?
您可以創建toString
和valueOf
方法作為對象的自己的屬性。 當 JS 需要將對象轉換為字符串或數字時,就會使用這些方法。 通常您已經看到它們返回“[object Object]”,但是例如Date
的實例在轉換為字符串時將返回一個日期字符串。
創建自己的轉換方法:
var resources = {
hyphens: {
rate: 5
},
ores: 0,
pitchforks: 0
};
Object.defineProperties(resources.hyphens, {
valueOf: {value: function () {return 10;}},
toString: {value: function () {return 10;}}
});
您也可以在對象定義中創建這些屬性,但這樣做會保護這些屬性,並使它們也不可枚舉。
請注意,直接記錄resources.hyphens
將向您顯示對象結構,在代碼中,如果需要轉換,它將表現得像一個數字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.