javascript - 不能在窗口上使用数字作为属性名称
问题描述
在 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] 的,此处不适用。
解决方案
推荐阅读
- c# - 如何将 application/x-www-form-urlencoded 转换为 JSON?
- python-3.x - 我如何在 python 中找到带有 id 的元素,可见?
- ruby - 使用 Ruby 将终端放在前面
- c# - 文本框光标的起始位置
- c# - 识别数据结构
- python - 使用 Pandas 计算 JSON 文件中的唯一项目
- javascript - 使用工人时如何停止承诺循环
- python - 在非调试模式下无法在 create_view() 中捕获异常
- java - Spring Data:findByMyListIsEmpty() 抛出编译错误
- python - 关于在 Keras fit_generator 中使用 python 中的数据生成器的困惑