Google Chrome上的结果不可预测

时间:2014-07-31 21:05:56

标签: javascript google-chrome loops firefox object

我有一个名为history的javascript对象。在测试我的应用程序时,在chrome上获得完全不可预测的结果。

在firefox上我的应用程序运行良好:当我console.log(history)获得关注屏幕时

enter image description here

但是在Chrome上关注

enter image description here

当我第一次看到这个屏幕时,我想也许镀铬会添加一些其他细节,如长度和状态。但事实上,当我在chrome上遍历对象(如下面的例子)时,它首先输出state并将值打印为null。

$.each(history, function (hash,files) { ...

有趣的是,相同的代码在firefox上运行就像魅力一样。

我做错了什么?

2 个答案:

答案 0 :(得分:1)

由于window.history冲突,您无法使用变量历史记录将其更改为其他内容。

答案 1 :(得分:1)

您不应该定义名为history的变量,因为它已经是Web API接口的一部分,

  

提供了一个操作浏览器会话的界面   历史记录(在当前页面所在的选项卡或框架中访问的页面   载入) - Window.history (Web API Interfaces | MDN)

它包含在window对象下,因此它是网页中的全局变量。你不能覆盖它,但它取决于浏览器哪一个会先于另一个。