ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript 変数の変更を検出するにはどうすればよいですか?
元の質問:
の値が変化したときにトリガーされる JavaScript のイベントはありますか?特定の変数が変更されましたか? jQuery を使用したソリューションを検討してください。
回答:
プロキシ オブジェクトの使用:
2018 年現在、Proxy オブジェクトは以下を提供します。オブジェクトのプロパティの変更を監視および傍受するための効果的なメカニズム。これは、ターゲット オブジェクトをラップするプロキシ オブジェクトを作成することで機能します。
var targetObj = {}; var targetProxy = new Proxy(targetObj, { set: function (target, key, value) { console.log(`${key} set to ${value}`); target[key] = value; return true; } }); targetProxy.hello_world = "test"; // console: 'hello_world set to test'
制限事項:
ネストされたオブジェクトの観察:
ネストされたオブジェクトの変更を観察するには、Observable Slim のような特殊なライブラリがより包括的なソリューションを提供します。
var test = {testing:{}}; var p = ObservableSlim.create(test, true, function(changes) { console.log(JSON.stringify(changes)); }); p.testing.blah = 42; // console: [{"type":"add","target":{"blah":42},"property":"blah","newValue":42,"currentPath":"testing.blah",jsonPointer:"/testing/blah","proxy":{"blah":42}}]
以上がJavaScript 変数の変更を検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。