如果未定义属性,请设置默认值

时间:2013-11-02 22:59:14

标签: javascript object

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

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

        console.log(g);

    }
};

感谢您的期待!

3 个答案:

答案 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'

Documentation on typeof

您也可以使用g === undefined

执行此操作

Documentation on undefined