我开始越来越多地使用Javascript,我偶然地遇到了以下问题。
我想根据我刚输入的值赋值。
简单示例:
var Example = {
valueA : 100,
valueB : 20,
valueC : Example.valueA / Example.valueB
}但这给出了Example is undefined在valueC行的位置。我假设Example对象现在还没有准备好使用,它首先必须“完成被创建”。
我可以做的:
var Example = {
valueA : 100,
valueB : 20,
valueC : -1 // Gets value later
}
Example.valueC = Example.valueA / Example.valueB在这个例子中,这是完全可以接受的,但是我最终会遇到很多这样的"post init“问题,或者赋值更复杂一些(例如公式)。
可以像“简单示例”那样工作吗?--我现在的解决方案感觉有点过火了,我需要一些更优雅的东西,在阅读代码时读得更好。
发布于 2016-04-15 11:00:35
你可以用吸气剂
get语法将对象属性绑定到在查找该属性时将调用的函数。
一个优点是,您可以将其他值分配给属性valueA或valueB,并获得该除法的实际结果。
var Example = {
valueA: 100,
valueB: 20,
get valueC() {
return this.valueA / this.valueB;
}
};
document.write(Example.valueC);
https://stackoverflow.com/questions/36645275
复制相似问题