使用setInterval和array.push()更新JavaScript数组

时间:2019-02-13 22:43:44

标签: javascript arrays setinterval

使用setInterval()更新JavaScript数组时,我看到了奇怪的行为。运行以下代码将导致console.log()仅运行一次。但是,如果您检查变量a,则它会在每个时间间隔继续更新。尽管console.log()实际上在每个间隔中都被a更新了,为什么a.c = a.b只执行一次?

var a = {
  b: [],
  c: [],
  d: function() {
    if (a.b != a.c) {
      console.log('Changing', a.b, a.c);
      a.c = a.b;
    }
  },
  start: function() {
    setInterval(function() {
      a.b.push('e');
      a.d();
    }, 1000);
  }
}

a.start();

0 个答案:

没有答案