我正在努力完成这样的事情。
/* Code start */
function getCurrentTime()
{
var date = new Date(),
time = date.getTime();
return time;
}
var jsObject = {
"imageOne":"SomeText"+getCurrentTime(),
"imageTwo":"someOtherText"+getCurrentTime()
}
setInterval(function(){
console.log(jsObject.imageOne);
}, 3000);
/* Code end */
每次执行定时器时,我都需要执行getCurrentTime()并获取最新时间。我该怎么做?
答案 0 :(得分:3)
如果你需要每次执行并获得不同的结果,你基本上需要一个函数:
"imageOne": function() {
return "SomeText" + getCurrentTime();
},
和
console.log(jsObject.imageOne());
如果确实有必要,可以使用getter省略()
,但使用函数更直接。
使用getter:
get imageOne() {
return "SomeText" + getCurrentTime();
},
这样,访问obj.imageOne
每次都会评估为不同的值,具体取决于当前时间。
答案 1 :(得分:1)
试试这个:
var jsObject = {
"imageOne":"SomeText",
"imageTwo":"someOtherText",
getLatestByName : function (name) {
return this[name] + getCurrentTime();
}
};
setInterval(function(){
console.log(jsObject.getLatestByName("imageOne"));
}, 3000);
这里是小提琴:http://jsfiddle.net/R7JQ3/