从JavaScript中的函数返回对象

时间:2017-01-15 11:19:05

标签: javascript class object prototype javascript-objects

我有一个在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关键字吗?我已经在类似的情况下看到了这一点,但我不明白为什么我做的不会工作。

2 个答案:

答案 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)

这是工厂模式,完全正确。您不需要使用构造函数。