var place = "mundo"["Hola", "Ciao"];


为什么返回未定义?只是因为是垃圾?

最佳答案

那是完全有效的JS,尽管它没有达到您的期望。

place初始化为'Ciao'String('mundo')属性。由于不存在,因此将其初始化为undefined

棘手的部分:

"Hola","Ciao"使用逗号运算符,计算"Hola",计算"Ciao"并返回"Ciao"

在这种情况下,[...]是属性访问

"mundo"[] "mundo"转换为String对象以访问其上的属性。

证明:

var place = "mundo"["Hola", "toString"];
console.log(place) // function toString() { [native code] }

关于javascript - 为什么此变量返回未定义?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19924009/

10-16 09:35