JavaScript 中用户定义对象属性的断点
你好
是否有任何 JavaScript 调试工具或插件可以帮助设置断点 用户定义的对象属性。
例如:
我有一个 JavaScript 对象文字
var 文本框 = {
颜色:“灰色”,
尺寸:“100px”,
边框:真
}
这是我进行修改的代码
函数 foo(){
TextBox["颜色"] = "蓝色";
}
我正在寻找在 TextBox.color 上放置一个断点,以便当修改属性时我可以找到 谁在进行修改或者哪个函数进行了更改。
它也应该在以下情况下中断:
TextBox.color = null;
或者
删除TextBox.color;
Firebug 或 Chrome 开发者工具中已提供此功能吗?
我已经看到了 html 元素删除、属性修改的断点 但不适用于用户定义的对象属性。
谢谢。
最佳答案
看看一些浏览器支持的神奇 getter 和 setter: https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Working_with_Objects#Defining_getters_and_setters
您应该能够定义一个 setter 并在其中放置一个断点。
出于兼容性原因,最好将它们排除在生产代码之外,但它们是调试某些问题的唯一实用方法。
关于javascript - JavaScript 中用户定义的对象属性上的断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12577535/