当前位置: 首页 > 面试题库 >

属性更改时的断点

韦翰音
2023-03-14
问题内容

Firefox的Firebug具有一个不错的功能,称为“属性更改中断”,在这里我可以标记任何对象的任何属性,并且它将在更改之前停止JavaScript执行。

我正在尝试在Google Chrome浏览器中实现相同功能,但是在Chrome调试器中找不到该功能。如何在Google Chrome浏览器中执行此操作?


问题答案:

如果您不介意弄乱源代码,则可以使用访问器重新定义属性。

// original object
var obj = {
    someProp: 10
};

// save in another property
obj._someProp = obj.someProp;

// overwrite with accessor
Object.defineProperty(obj, 'someProp', {
    get: function () {
        return obj._someProp;
    },

    set: function (value) {
        debugger; // sets breakpoint
        obj._someProp = value;
    }
});


 类似资料:
  • Firefox的Firebug有一个很好的特性,叫做“属性更改时中断”,在这里我可以标记任何对象的任何属性,它将在更改之前停止JavaScript执行。 我试图在Google Chrome中实现同样的功能,但在Chrome调试器中找不到该功能。我如何在谷歌浏览器中做到这一点?

  • 问题内容: 我希望使用该类来更改Java中文件的时间戳记元数据。 我想更改所有3个Linux / ext4时间戳(最后修改,访问和更改)。 我可以按如下方式更改前两个时间戳字段: 但是,我无法修改文件的最后一次 更改: 时间。同样,值得关注的是文档中没有提到更改时间戳。最接近的可用属性是,我尝试没有成功。 关于如何根据Java中的自定义时间戳修改文件元数据的任何想法? 谢谢! 问题答案: 我可以使

  • 我正在用selenium自动化一个应用程序。没有像id这样的普通标签,我可以通过它找到元素。所以我使用的是xpath[driver.findElement(By.xpath())]。但是现在我发现WebElement的一些XPath在运行时动态变化,所以我的测试用例失败了。甚至相对xpath选项也不适用于HTML。我正在粘贴AUT的html的一部分。请让我知道如何处理这种情况。

  • 简单验证器 向属性添加“验证”例程的快速方法是使用 validates() 装饰者。属性验证器可以引发异常,停止改变属性值的过程,或者将给定值更改为其他值。与所有属性扩展一样,验证程序只由普通的userland代码调用;当ORM填充对象时不会发出验证程序:: from sqlalchemy.orm import validates class EmailAddress(Base): __

  • 问题内容: 我在HTML中创建了一个属性,该属性动态地填充了信息。 有没有一种方法可以检测属性值何时更改? 问题答案: 您将必须注意DOM节点的更改。有一个名为的API,但似乎对其的支持非常有限。这样的答案有一个指向API状态的链接,但是到目前为止,似乎在IE或Opera中都不支持它。 解决该问题的一种方法是让修改属性的代码部分分派一个您可以侦听的事件。 这里的代码是

  • 我有一个父组件和子组件,其中父组件通过@Input修饰符将对象传递给子组件。问题是,子级只获取父级数据一次,然后在将来更改传递给子级的父属性后,不会更新该值。