重要提示:代碼有效,所以這更像是「這是正確的方式嗎?」題。Javascript - 使用不同的值添加相同的屬性
我試圖給函數中的對象屬性添加不同的值,然後將其推送到一個數組。 對象屬性應該保持不變,但名稱應該改變。
輸出:
Object {
clientId="cXbHV32Sz0gh-10Mo6DX",
userName="Foo"
},
Object {
clientId="J3ZkTsK6ixTM6pUBo6DY",
userName="bar"
我只能用這種解決方案來實現它:
var clientObj = function (clientId, userName){
var that = this;
this.clientId = clientId;
this.user
}
function myFunc(socket.id, userName){
var clientInfo = new clientObj(socket.id, userName)
clientList.push(clientInfo)
}
我不知道如果我真的需要在這裏有一個構造函數,它確實沒有什麼比拯救我的屬性。
那麼我怎樣才能不使用構造函數呢?
我認爲是這樣的(但這隻能更換值):
如果var ClientObj = {}
function myFunc(socketId, userName){
ClientObj['socketID'] = socketID
ClientObj['userName'] = userName
clientList.push(clientObj)
}
對不起,這可能是一個有點混亂
爲什麼你認爲這是做一個好辦法它?你的方法的哪一部分會讓你感到不安? –
我不知道這是否是一個好辦法。 我想知道是否真的有必要每次創建一個新的對象,也許這也可以在for循環或類似的東西中做到這一點? – xhallix
那麼這取決於你正在用這些對象做什麼。如果'ClientObj'實例沒有方法,那麼你不需要構造函數。 –