0

为什么非常单一的属性设置为“未定义”,尽管我写了,当它是“未定义”时,将其设置为一个值?

var e = {
    f: function(g) {
        g    ===  'undefined'  ?  g    =  {} : {};
        g.h  ===  'undefined'  ?  g.h  =  1  : {};
        g.i  ===  'undefined'  ?  g.i  =  2  : {};

        console.log(g);

    }
};

感谢期待!

4

3 回答 3

3

使用undefined,不使用'undefined'

但是你可以用更清晰的方式来写它:

if (g === undefined) g = {};
于 2013-11-02T23:00:11.653 回答
2

使用typeof g === 'undefined',不使用g === 'undefined'

关于文档typeof

你也可以使用g === undefined

关于文档undefined

于 2013-11-02T23:01:59.403 回答
2
'undefined' === undefined
false

undefined === undefined
true

这就是我的浏览器的 JavaScript 控制台必须说的 - 尝试删除“未定义”周围的单引号标记。似乎 JavaScript 的弱类型化和自动转换只能到此为止!

于 2013-11-02T23:01:41.863 回答