首先,这是我的代码:
var lastUsedId = '';
var object = {
element: lastElement()
};
function lastElement() {
return lastUsedId;
}
lastUsedId = 123;
console.log(object); // returns `{element: ""}` and should `{element: 123}`
如您所见,我已使用键element
定义了对象,该对象应包含最后使用的元素的ID。问题是我不知道该ID,但它打印结果。由于我强大的应用程序,我无法更改object.element = 123
之类的值,所以不要发送类似的评论。对于这个问题,它必须像这样构建。
我的问题是:我可以设置像函数一样的值,它会返回内容随后更改的变量吗?也许这是一个愚蠢的问题,但如果不可能只是说出来,我会尝试寻找其他方式。
答案 0 :(得分:3)
不确定这是您想要的,但您可以使用getter
:
var lastUsedId = '';
var object = {
get element() {
return lastElement()
}
};
function lastElement() {
return lastUsedId;
}
lastUsedId = 123;
console.log(object);
lastUsedId = 456;
console.log(object);
答案 1 :(得分:2)
我可以设置像function这样的值,它返回变量 内容后来改变了吗?
为什么不将该值仅保留为function
var obj = {
element: lastElement
};
console.log( obj.element() ); //this will invoke the method to get the latest value