2016-08-19 70 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); 
相關問題