如何使用空值创建对象?

时间:2014-01-06 21:09:55

标签: javascript json

如果我想创建一个回调对象,就像这样:

var callback = {
    err:'String',
    data:'String'
};

如何在不使用值初始化errdata的情况下创建此对象?我可以吗?

我需要检查err是否未定义,因此我可以知道是否需要处理错误,因为这是一个回调。

3 个答案:

答案 0 :(得分:1)

你可以像这样创建一个空对象:

var o = { };

答案 1 :(得分:1)

“没有价值”的东西在javascript中称为“未定义”,因此您必须将其值设置为未定义。

obj = Object.create({}, {
    err:  { writable: true, enumerable: true, configurable: true },
    data: { writable: true, enumerable: true, configurable: true }
})

甚至更简单:

var undef;

obj = {
    err:  undef,
    data: undef
}

为了响应您的编辑,最初创建一个空对象会更容易,然后使用err检查是否定义了in

 if('err' in obj)
     got an error!

答案 2 :(得分:1)

var callback = {};

在查找errdata时,值将是未定义的。您可以将它们分配给您以后想要的任何内容。