javascript对象firefox watch

时间:2015-05-18 15:33:16

标签: javascript object firefox

我在Firefox javascript中遇到了一个非常奇怪的事情。我有一个我创建的对象,我正在使用字符串作为键。当我到达我所看到的点时,如果我对键'watch'有价值,那么如果那里没有'watch'键那么它就会返回Object.watch函数。我正试图通过以下方式访问键/值:

my_object["watch"]

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

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

如果钥匙确实在那里做出决定,那真的很贵。我在Chrome中的脚本大约需要5-10秒到一分钟或更长时间。

我无法相信firefox中没有一种高效的方法可以解决这个问题。 Chrome做了“正确的事”

1 个答案:

答案 0 :(得分:2)

返回Object.watchObject.prototype.watch是Firefox特有的功能。

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

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

var obj = Object.create(null);

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