![](/img/trans.png)
[英]javascript create an object which has an options property and that proerty has a length
[英]My JavaScript object has a length field which I didn't assign
我有一个相当奇怪的问题,但我一直无法找到解决方案。 可能是因为没有人遇到过这个问题,或者可能是我对Google所迷茫的事实。
这是怎么回事。 我正在构建一个Rock-Paper-Scissors机器学习演示,并且我有两个对脚本很重要的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}
获胜者对象只是一个空对象,但我的历史记录对象具有length属性以及其他一些东西。 我保证,我所有其他代码都已被注释掉。
为什么我的历史记录对象包含其中的内容?如何清除它?
浏览器包含window.history
对象,即您在控制台日志中看到的对象。 在此处查看有关此对象的更多信息: https : //developer.mozilla.org/en-US/docs/Web/API/Window/history
为避免此问题,请为您的历史记录对象使用稍微不同的名称。
浏览器中已经有一个内置的对象,称为history
。
您可以在以下网站中了解更多信息:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.