效率 - setInterval vs Object.watch

时间:2013-09-28 20:15:56

标签: javascript performance algorithm

我对JavaScript的效率有疑问。我想创建一个观察特定成员的“观察者”,并在更改后执行一项功能。我见过两种方法:

1)一个设定的间隔,它连续地将旧值与当前值进行比较,并在发生变化时触发回调

2)Object.watch

我已经读过Object.watch会产生一些开销,但我很好奇上面哪种方法效率最高?如果还有其他方法,请随时告诉我!

2 个答案:

答案 0 :(得分:2)

您还可以将成员包装在更新函数中,该函数在设置新值后触发事件,并在代码中的其他位置侦听事件。这将是非常有效的。

答案 1 :(得分:0)

(旁注:您应使用Object.observe(),因为Object.watch()是特定于FF的。)

如果这是关于特定属性的,那么在许多意义上使用虚拟属性机制并提供自己的setter会更好。查看Object.defineProperty