javascript – ‘undefined’变量作为使用’undefined’属性名称的对象的键

前端之家收集整理的这篇文章主要介绍了javascript – ‘undefined’变量作为使用’undefined’属性名称的对象的键前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
考虑以下内容
var x = {};
x.undefined = "Hello World!";
var y;

//Prints "Hello World!"
console.log(x[y]);

Working jsFiddle

为什么会这样呢?是因为this,它返回一个字符串而不是实际的未定义?

解决方法

当你做x.undefined你设置一个名为’undefined’的属性.它与未定义的名称(可写的保留字变量:false)是一致的.

后来当你做的时候,console.log(x [y]),你正在x中寻找y.对象的键是字符串,所以y被转换成一个字符串.当未定义转换为字符串时,将变为“未定义”.这就是为什么’你好世界!’被退回

猜你在找的JavaScript相关文章