【发布时间】:2018-09-19 17:04:06
【问题描述】:
从 Chrome 控制台:
> myParam = {"test": "test value"}
> myFunc = function(x) { myParam[x] = x; }
> myFunc("func value")
> myParam
{test: "test value", func value: "func value"} // (a) question
> myFunc(2)
> myParam
{2: 2, test: "test value", func value: "func value"}
> myFunc()
> myParam
{2: 2, test: "test value", func value: "func value", undefined: undefined} // (b) question
这是目前最新版本的 Chrome (69.0.3497.100)
请解释如何,在 JavaScript 中
a) 可以创建一个包含空格的对象成员(“myParam.func 值”)
b) 可以创建一个“未定义”的对象成员(“myParam.undefined”)
c) 对于 (b) 情况,“未定义”真的是“未定义”还是只是一个字符串“未定义”?
PPS. 如果字符串没有像字符串一样显示,您能否确认我的假设是 Google Chrome v(69.0.3497.100) 控制台显示错误 ,“括号之间”和红色?
PPS。
只有 Firefox 似乎可以正确显示字符串键:
【问题讨论】:
-
所有答案都可以在这里找到:Working with objects - JavaScript | MDN
-
@Andreas 幸运的是你没有给我发送google.com 作为帮助链接。 c) 问题呢?
-
我会再次向您推荐我的链接,因为您的所有问题都会得到解答。
-
@Andreas 令人困惑的时刻是谷歌浏览器如何显示键,它应该像字符串一样显示键,因为有字符串
标签: javascript google-chrome google-chrome-devtools undefined google-chrome-console