簡體   English   中英

在模塊javascript中創建對象

[英]Create objects inside a module javascript

我正在用javascript學習設計模式,但是創建模塊時遇到問題。 我正在模塊內部創建一個Person對象,並將其與構造函數模式組合在一起,只是因為我也在學習它,但沒有任何反應。

有人可以幫我嗎,我不明白我的錯誤

var myModule = (function () {
    function Person(id, name) {
        this.id = id;
        this.name = name;
    }

    Person.prototype.toString = function () {
        return "\nID: " + this.Id + "\nName: " + this.name;
    };

    return {
        newPerson: function (id, name) {
            return new Person(id,name);
            console.log(Person.toString());
        }
    };
})();

var x = myModule;

x.newPerson(1, "John");

你應該用

var myModule = (function () {
    function Person(id, name) {
        this.id = id;
        this.name = name;
    }

    return {
        newPerson: function (id, name) {
            return new Person(id,name);
        }
    };
})();

var x = myModule;

console.log(x.newPerson(1, "John"));

忘記了toString() ,大多數控制台都可以獲取對象,並以更好的方式顯示它。

在您的情況下,您想記錄Person構造函數的toString() ,這將導致如下所示的字符串:

"function Person(id, name) {
    this.id = id;
    this.name = name;
}"

但它不會運行,因為您將其放在newPerson()函數的return語句之后,並且return語句停止執行並返回結果。

暫無
暫無

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

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