javascript - 我的 JavaScript 对象有一个我没有分配的长度字段

标签 javascript p5.js

我有一个相当奇怪的问题,我一直无法找到解决方案。这可能是因为没有人遇到过这个问题,也可能是因为我对 Google 的内容很迷茫。

事情是这样的。我正在构建一个石头剪刀布机器学习演示,并且我有两个对脚本很重要的 JavaScript 对象。这两个对象是winners(存储什么击败什么的对象)和history(跟踪所有比赛)。

在我的脚本的最顶部,我创建了这两个对象,如下所示:

var winners = {

}

var history = {

}

现在我开始解决问题了。我已经完成了其余的代码,但这无关紧要,因为当我将其注释掉时,并且由于我使用的是 p5.js,所以我有一个预加载函数,只需打印出两个对象即可。

function preload(){
    console.log(winners);
    console.log(history);
}

然后我进入 Chrome 并运行使用该脚本的 html,打开控制台。我应该看到:

Object {}
Object {}

但是不!

Object {}
History {length: 1, scrollRestoration: "auto", state: null}

winners 对象只是一个空对象,但我的历史对象有一个长度属性以及其他一些东西。我保证,我的所有其他代码都被注释掉了。

为什么我的历史对象中有这些东西,我怎样才能摆脱它?

enter image description here

最佳答案

浏览器包含一个 window.history 对象,这是您在控制台日志中看到的内容。在此处查看有关此对象的更多信息:https://developer.mozilla.org/en-US/docs/Web/API/Window/history

要避免此问题,请为历史对象使用稍微不同的名称。

关于javascript - 我的 JavaScript 对象有一个我没有分配的长度字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42053270/

相关文章:

javascript - 滚动行为 VueJS 无法正常工作

javascript - 循环表单并使用单个 JavaScript 函数

javascript - 如果使用 jQuery 的方法,在新窗口上调用的 alert() 似乎是从原始页面调用的

javascript - 为什么这个对象不在范围内?

javascript - 在 React 中将数据从一个函数传递到另一个函数

javascript - 使用 Browserify 导出 p5.js 函数

javascript - 如何在 Javascript 中为 if 语句添加公差

php - PHP 和 JavaScript 模板的互换性(防止重复)

javascript - 更改 <li> 上的 z-Index

javascript - 在不调用函数的情况下,这段 JavaScript 代码如何工作?