2017-07-05 11 views
0

私は誰も気にしないことを望む。私はコメントし、その美しい提案で直接質問するのに十分な評判ポイントがありません:https://stackoverflow.com/a/37403125/8261024JavaScriptの実際の変数の変更を聞く

本当の変更のみを検出したいのですが、どうすればいいでしょうか?私の言いたいことは:x.aの価値が変わったら、私は知っています。 x.aの値が42だった場合、変更後も42ですが、値の実際の変更だけが必要ですか?私はそれがイルカか魚かsthに変わったら知りたいだけです。

多分私は盲目であることを知っているので、わかりません。

ありがとうございました。

答えて

0

はいSHURE、単に格納された値に新規の比較:

var obj=(function(){ 
    var store=undefined; 
    return { 
    get value(){ 
    return store; 
    }, 
    set value(v){ 
    if(v!==store){ 
     alert("changed"); 
     store=v; 
    } 
    } 
    }; 
})(); 

obj.value=10;//changed 
obj.value=10; 
+0

私はこれを使用する、のが言おうとオブジェクトのための私の名前は情報テキストの代わりに、OBJと私のコードは [コード] のvar情報テキストです= { aInternal:oldInfoText、 aListener:function(val){}、 テキストを設定します。{ this.aInternal = val; this.aListener(val); }、 get text(){ return this.aInternal; }、 registerListener:function(listener){ this.aListener = listener; } } infoText.registerListener(function(val){ alert( "誰かがinfoTextの値を" + val "に変更しました); }); [/ code] – Olafant

+0

@ilafantの下に上のコードをください。それはあなたと非常によく似ていて、あなたは簡単にあなたを変えることができます。 Btw mysは良いです... –

+1

あなたは正しいです。ご助力ありがとうございます。私が言ったように、私は他の夜は少し盲目でした。 – Olafant

関連する問題