0

javascript のユーザー定義オブジェクト プロパティのブレーク ポイント

こんにちは

ユーザー定義オブジェクト プロパティにブレーク ポイントを配置するのに役立つ JavaScript デバッグ ツールまたはアドオンはありますか。

例えば:

JavaScript オブジェクト リテラルがあります

var TextBox = { color:"gray", size:"100px", border:true }

これが変更を行う私のコードです

function foo(){ TextBox["color"] = "blue"; }

プロパティが変更されたときに、誰が変更を行っているか、またはどの関数が変更を行っているかを見つけることができるように、TextBox.colorにブレークポイントを配置することを探しています。

また、壊れるはずです TextBox.color = null; or delete TextBox.color;

この機能は、firebug または chrome 開発者ツールで既に利用できますか?

html 要素の削除、属性の変更のブレークポイントは既に確認しましたが、ユーザー定義オブジェクト プロパティのブレークポイントは確認できませんでした。

ありがとう。

4

2 に答える 2

1

一部のブラウザーがサポートする魔法のゲッターとセッターをご覧ください: https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Working_with_Objects#Defining_getters_and_setters

セッターを定義してブレークポイントを設定できるはずです。

互換性の理由から、これらを製品コードから除外するのがおそらく最善ですが、特定の問題をデバッグするための唯一の実用的な方法です。

于 2012-09-25T06:56:05.147 に答える
1

次のようなものを使用します。

(function() {
    var obj=TextBox; var realValue = obj.color; 
    Object.defineProperty(obj, 'color', { 
        set: function(newValue) { debugger; realValue = newValue; },
        get: function() { debugger; return realValue; } 
    });
})();

ブラウザのコンソールで実行するだけです。

于 2013-12-02T22:18:21.090 に答える