在Object中添加数据时未定义的var

时间:2014-09-29 05:46:12

标签: javascript variables variable-declaration

我需要在对象temp中创建一个2级层次结构。我写了以下内容:

var temp = {};
temp['mailboxes'].push("First");

以下代码给出了一个错误,指出no method push of undefined,这是可以理解的,因为我知道在使用数组/对象时,需要首先声明它们。有没有直接的方法来做到这一点,以便在必须使用var之前我不必声明相同的内容?

例如,我想避免这样做:

var temp = {}; 
temp['mailboxes'] = [];

3 个答案:

答案 0 :(得分:2)

var temp = { mailboxes: [] }

据我所知,javascript没有简单的方法来提供像python的defaultdict这样的默认值。

答案 1 :(得分:1)

正确的方法是在对象中声明邮箱数组,如:

var temp = {mailboxes: []};

这样,当您按下数组中的值时,JS引擎将知道在哪里推送值。如果不先声明它就不能这样做。你想要做的是在空对象的未定义字段中推送值,这将导致错误。

答案 2 :(得分:0)

也许这可以帮助

var temp = {};
temp.mail = new Array();

temp.mail.push("email");
temp.mail.push("email");

首先需要先初始化object属性 操纵内容;