首页 > 解决方案 > 不能在窗口上使用数字作为属性名称

问题描述

在 Javascript 中,我不能使用只是数字的字符串作为 Firefox 或 Chrome 中窗口对象的属性名称,但它适用于 IE 11。我尝试的任何其他数字的行为都是相同的。如果我使用像“abc”这样的字符串,它会按预期工作。

window["0"] = "hello"
"hello"
window["0"]
undefined

截屏

但是,根据文档:“对象属性名称可以是任何有效的 JavaScript 字符串,或者可以转换为字符串的任何内容,包括空字符串。” - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects#Objects_and_properties

我可以在任何其他对象上使用“0”作为属性名称,但不能在窗口上使用。为什么是这样?

这被标记为与javascript中对象window['0']和window['1']的含义重复

并且会,但似乎另一个问题中的人写错了他的问题。他问了我同样的问题,但意思是问 window[0],而不是 window["0"]。给出的答案是针对 window[0] 的,此处不适用。

标签: javascriptobjectpropertieswindow

解决方案


推荐阅读