FireFox中不同的JavaScript对象文字行为&;谷歌浏览器?

FireFox中不同的JavaScript对象文字行为&;谷歌浏览器?,javascript,firefox,google-chrome,Javascript,Firefox,Google Chrome,我已将我的错误缩小到以下代码集,这些代码在google Chrome中产生不同的行为: 示例代码: Firefox输出:Hi 1[对象]192 Hi 2 Chrome输出:Hi 1[对象]未定义Hi 2 任何让属性在google chrome中工作的想法都是热门的 谢谢。您正在访问窗口.status属性,该属性用于控制状态栏中的文本。请参阅: 显然,所有主流浏览器都必须首先打开此功能,因此关闭时,不同的浏览器会做不同的事情。Chrome将status属性的值更改为字符串,因此它变成了一个神秘但熟

我已将我的错误缩小到以下代码集,这些代码在google Chrome中产生不同的行为:

示例代码:

Firefox输出:Hi 1[对象]192 Hi 2

Chrome输出:Hi 1[对象]未定义Hi 2

任何让属性在google chrome中工作的想法都是热门的


谢谢。

您正在访问
窗口.status
属性,该属性用于控制状态栏中的文本。请参阅:

显然,所有主流浏览器都必须首先打开此功能,因此关闭时,不同的浏览器会做不同的事情。Chrome将status属性的值更改为
字符串
,因此它变成了一个神秘但熟悉的字符串
“[object object]”
,它没有entry\u count属性。Firefox在
状态
属性中保持对象不变

底线:
窗口。状态
已用于其他内容;为变量使用不同的名称

编辑:

正如下面提到的,一种更好的方法是将其封装在函数范围中,只要您不打算在其他地方使用它:

(function() {
   var myStatus = {...};
   // Do something with myStatus, preferably not document.write ;)
}());

var a = typeof myStatus; // a === 'undefined'.

这样,变量将只在函数范围内可见。

您在任何地方都没有使用JSON,只使用JavaScript对象文本。@Matthew,很抱歉。实际上,我是从json.dumps(python对象)中获得这个javascript文本的。。这就是为什么我把JSON解析错误查询放在第一位。谢谢Speny。。。我很惊讶:)正在工作:样本:+1好的知识,先生!另外请注意,这是使用全局变量时发生的情况。与其只使用不同的变量名,还不如添加一个新的作用域,即使这只是一个自动执行的匿名函数。@lonesomeday,你说得对!我加了它作为奖金。