Связанный с Javascript объект - PullRequest
0 голосов
/ 15 марта 2012

Я пытаюсь сделать что-то подобное.

/* 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 () и получить последнее время. Как мне это сделать?

Ответы [ 2 ]

3 голосов
/ 15 марта 2012

Если вам нужно каждый раз выполнять задания и получать разные результаты, вам в основном нужна функция:

"imageOne": function() {
  return "SomeText" + getCurrentTime();
},

и:

console.log(jsObject.imageOne());

Если действительно необходимо, вы можете опустить() с геттером, но использование функции более простое.


Использование геттера:

get imageOne() {
  return "SomeText" + getCurrentTime();
},

Таким образом, доступ к obj.imageOne приведет кразные значения каждый раз, в зависимости от текущего времени.

1 голос
/ 15 марта 2012

Попробуйте:

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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...