2

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

1) 一个设定的时间间隔,不断将旧值与当前值进行比较,并在有变化时触发回调

2) Object.watch

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

4

2 回答 2

2

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

于 2013-09-28T20:22:39.357 回答
0

(旁注:您应该Object.observe()Object.watch()FF 特定的方式使用。)

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

于 2013-09-28T20:26:41.660 回答