重要提示:代码有效,所以这更像是“这是正确的方式吗?”题。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'实例没有方法,那么你不需要构造函数。 –