javascript 对象 火狐 watch

标签 javascript object firefox

我在 Firefox javascript 中遇到了一件非常奇怪的事情。我创建了一个对象,并使用字符串作为键。当我看到“watch”键是否有值时,如果其中没有“watch”键,它会通过返回 Object.watch 函数来使用react。我正在尝试使用以下方式访问键/值:

my_object["watch"]

我可以通过在创建对象时初始化该值来解决这个问题,但这对我来说似乎很俗气。有没有一种方法可以以编程方式解决这个问题。我可以写:

Object.keys(my_object).indexOf("watch")

判断 key 是否确实存在,但这确实很昂贵。我在 Chrome 中的脚本从大约 5-10 秒到一分钟或更长时间。

我简直不敢相信 Firefox 中没有一种高效的方法来处理这个问题。 Chrome 做了“正确的事”

最佳答案

返回 Object.watch Object.<strong>prototype.</strong>watch 是 Firefox 特有的功能。

您可以使用obj.hasOwnProperty('watch')测试您的对象是否具有该属性。

或者,根据对象的使用方式和来源,您可以在没有原型(prototype)的情况下初始化它:

var obj = Object.create(null);

那么您现有的测试 ( obj['watch'] ) 将正常工作。

关于javascript 对象 火狐 watch ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30307326/

相关文章:

javascript - 并排动态创建div

javascript - NodeJS 中非常基本的请求响应 Web 服务器

javascript - 无法从待办事项列表中删除自定义待办事项列表项

c++ - 输入/输出对象 vector

java - org.openqa.selenium.WebDriverException : connection refused while using Selenium Java and webdriver (linux headless with Xvfb)

CSS + FireFox : hiding scrollbar on iframe with scrolling=yes

jQuery 隐藏功能在 Firefox 中不起作用

javascript - 单击链接后强制浏览器保存文件

Java 对象差异 : How to apply diffs to an object

c++ - 在 C++ 中直接释放对象