I want to create an object property that re-calculates it’s value each time it is called.
I took at stab at it:
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
It it even possible?
Not possible – JS properties are not “executable” like C# properties are. The best you can do is a normal method.
Aside: from a design standpoint I would actual consider a self-changing property to be pretty poor. The principle of least surprise would be better served by a method anyway.