2016-08-19 61 views
0
var friends=new Object(); 
friends.bill=new Object(); 
friends.steve=new Object(); 
var friends={ 
    bill:{ 
     firstName: "Bill", 
     lastName: "gates", 
     number:'040404040', 
     address: ['bcd','sdad'] 
     } 
}; 
var friends={ 
    steve:{ 
     firstName: "Steve", 
     lastName: "Jobs", 
     number:'131313131', 
     address:['abc','sdsdsd'] 
     } 
}; 
console.log(friends); 

该程序的输出全部是关于对象“史蒂夫”。如果我登录“friends.steve”,它会记录为“未定义”。我希望输出成为对象朋友中的两个不同的对象。我在一个对象中创建了两个不同的对象。在打印它们时,只显示最后一个修改过的对象。如何创建?

回答

1

您正在覆盖以前创建的对象。

相反,你应该尝试

var friends=new Object(); 
friends.bill=new Object(); 
friends.steve=new Object(); 
friends.bill={ 
     firstName: "Bill", 
     lastName: "gates", 
     number:'040404040', 
     address: ['bcd','sdad'] 
}; 
friends.steve={ 
     firstName: "Steve", 
     lastName: "Jobs", 
     number:'131313131', 
     address:['abc','sdsdsd'] 
     }; 
console.log(friends); 
0

在你的代码定义的朋友变量,并在接下来的几行

'var friends={ 
    bill:{' 

这再次覆盖将覆盖的第一目标和新的实例会发生替代。

试试这个代码,这将解决您的问题

var friends = new Object(); 

    friends.bill = { 
     firstName: "Bill", 
     lastName: "gates", 
     number:'040404040', 
     address: ['bcd','sdad'] 
    }; 

    friends.steve ={ 
     firstName: "Steve", 
     lastName: "Jobs", 
     number:'131313131', 
     address:['abc','sdsdsd'] 
    }; 

    console.log(friends); 
+0

虽然这可能回答这个问题,但它没有解释为什么。代码本身很少。请添加一个解释,以便OP和其他人可以理解为什么你的代码更好,以及问题中显示的代码出了什么问题。 – GregL

1

要存储在一个变量多个值可以使用阵列

var bill = { 
    firstName: "Bill", 
    lastName: "gates", 
    number:'040404040', 
    address: ['bcd','sdad'] 
} 

var steve = { 
     firstName: "Steve", 
     lastName: "Jobs", 
     number:'131313131', 
     address:['abc','sdsdsd'] 
} 

var friends = [bill, steve]; 
console.log(friends); 

而且,在你的代码,您所定义的变量朋友,其覆盖具有相同名称定义的变量。此外,您可以为朋友定义班级,并可以从班级创建2个对象。

function Friend(firstname, lastname, number, address) 
{ 
    this.firstname = firstname; 
    this.lastname = lastname; 
    this.number = number; 
    this.address = address; 
} 

var bill = new Friend("Bill", "gates", "address", 040404040 ,['bcd','sdad']); 
var steve = new Friend("Steve", "Jobs", "address", 131313131, ['abc','sdsdsd']); 
var friends = [bill, steve]; 
console.log(friends); 
相关问题