JavaScript の効率について質問があります。特定のメンバーを監視し、変更時に関数を実行する「ウォッチャー」を作成したいと考えています。私は2つの方法を見てきました:
1) 古い値と現在の値を継続的に比較し、変更があったときにコールバックを起動する設定された間隔
2) オブジェクト.ウォッチ
Object.watch によってオーバーヘッドが発生することを読みましたが、上記のどの方法が最も効率的か知りたいです。他の方法があれば、遠慮なく教えてください!
JavaScript の効率について質問があります。特定のメンバーを監視し、変更時に関数を実行する「ウォッチャー」を作成したいと考えています。私は2つの方法を見てきました:
1) 古い値と現在の値を継続的に比較し、変更があったときにコールバックを起動する設定された間隔
2) オブジェクト.ウォッチ
Object.watch によってオーバーヘッドが発生することを読みましたが、上記のどの方法が最も効率的か知りたいです。他の方法があれば、遠慮なく教えてください!
新しい値を設定した後にイベントを発生させる update 関数でメンバーをラップし、コードの別の場所でイベントをリッスンすることもできます。それはかなり効率的でしょう。
(補足: FF 固有のものObject.observe()
として使用する必要があります。)Object.watch()
これが特定のプロパティに関するものである場合は、多くの意味で、仮想プロパティ メカニズムを使用して独自のセッターを提供する方が適切です。Object.defineProperty を確認してください