簡體   English   中英

從 JavaScript 中的函數返回一個對象

[英]Returning an object from a function in JavaScript

我有一個在 javascript 中返回一個對象的函數。 返回的對象是我想發送到服務器的“messagePack”的實例。 每個 messagePack 都會不同。 例如:

    function someFunc() {
        return {
            name: "chatMessage",
            time: Date.now(),
            data: "yooo hoooo",
            hash: hashFunc()               
        }
    }

然后我創建一個創建 messagePack 並將其添加到數組中:

    var messagePack = someFunc();

    msgArray.push(messagePack)

這個可以嗎? 我應該為消息包創建構造函數並使用 new 關鍵字嗎? 我已經在類似的情況下看到過這種情況,但我不明白為什么我正在做的事情不起作用。

當您有多個包含相同數據的對象(例如函數或常量)時,構造函數很有用。 由於您沒有此重復數據(我相信),因此您不需要它們。 如果你有重復的數據,你可以這樣做:

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;
 }

這是工廠模式,完全正確。 您不需要使用構造函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM