我有一个关于 JavaScript 效率的问题。我想创建一个“观察者”来观察特定成员,并在更改后执行一个功能。我见过两种方法:
1) 一个设定的时间间隔,不断将旧值与当前值进行比较,并在有变化时触发回调
2) Object.watch
我读过 Object.watch 会产生一些开销,但我很好奇上面哪种方法最有效?如果还有其他方法,请随时告诉我!
我有一个关于 JavaScript 效率的问题。我想创建一个“观察者”来观察特定成员,并在更改后执行一个功能。我见过两种方法:
1) 一个设定的时间间隔,不断将旧值与当前值进行比较,并在有变化时触发回调
2) Object.watch
我读过 Object.watch 会产生一些开销,但我很好奇上面哪种方法最有效?如果还有其他方法,请随时告诉我!
您还可以将成员包装在更新函数中,该函数在设置新值后触发事件,并在代码中的其他位置侦听该事件。那将是非常有效的。
(旁注:您应该Object.observe()
按Object.watch()
FF 特定的方式使用。)
如果这是关于特定属性的,那么在许多意义上使用虚拟属性机制并提供您自己的设置器会更好。检查Object.defineProperty