[英]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.