我想创建一个对象属性,每次调用它时都会重新计算它的值.
我抓住了它:
var Foo = { Bar : (function() { return Date(); })() }
alert(Foo.Bar); // shows time at object literal Foo was init'd
// but need it to show time when it's called
Run Code Online (Sandbox Code Playgroud)
它甚至可能吗?
不可能 - JS属性不像C#属性那样"可执行".你能做的最好的是一种常规方法.
除此之外:从设计的角度来看,我实际上会认为自我改变的财产非常差.无论如何,通过一种方法可以更好地服务于最小惊喜的原则.
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |