为什么非常单一的属性设置为“未定义”,虽然我写了,当它未定义时,将其设置为值?
var e = {
f: function(g) {
g === 'undefined' ? g = {} : {};
g.h === 'undefined' ? g.h = 1 : {};
g.i === 'undefined' ? g.i = 2 : {};
console.log(g);
}
};
感谢您的期待!
答案 0 :(得分:3)
使用undefined
,而不是'undefined'
。
但你可以用更清晰的方式写出来:
if (g === undefined) g = {};
答案 1 :(得分:2)
'undefined' === undefined
false
undefined === undefined
true
这是我的浏览器的JavaScript控制台必须说的 - 尝试删除“undefined”周围的单引号标记。看起来像JavaScript的弱打字和自动转换只是到目前为止!
答案 2 :(得分:2)
使用typeof g === 'undefined'
,而不是g === 'undefined'
。
您也可以使用g === undefined