我有一个在javascript中返回对象的函数。返回的对象是" messagePack"的实例。我想发送到服务器。每个messagePack都会有所不同。 E.g:
function someFunc() {
return {
name: "chatMessage",
time: Date.now(),
data: "yooo hoooo",
hash: hashFunc()
}
}
然后我创建一个创建一个messagePack并将其添加到一个数组中:
var messagePack = someFunc();
msgArray.push(messagePack)
这可以吗?我应该为消息包创建构造函数并使用new关键字吗?我已经在类似的情况下看到了这一点,但我不明白为什么我做的不会工作。
答案 0 :(得分:0)
当你有多个包含相同数据的对象时,构造函数很有用,例如: G。函数或常量。因为你没有这个重复数据(我相信),你不需要它们。如果你有重复数据,你可以这样做:
var message_prot={
name: "chatMessage",
time: Date.now(),
data: "yooo hoooo",
hash: false
};
function somefunc(){
a=Object.create(message_prot);
a.name="Hi";
a.hash=hashfunc();
return a;
}
答案 1 :(得分:-1)
这是工厂模式,完全正确。您不需要使用构造函数。