简单工厂模式

161 阅读1分钟

简单工厂也就是创建一个类,然后传入不同名字,返回不同的结果。

举例说明一下:

现在一个个出版社(类Book),现在有不同的书要出版(不同的名字)

书名1:山海经

书名2:黄帝大战蚩尤

那就是以下代码来实现:

    // 创建Book
    var Book = function (name) {
        var obj = new Object();
        obj.name = name;
        obj.getBookName = function () {
            return this.name;
        }
        // 返回传入不同的对象结果
        return obj;
    }
    // 传入不同的值
    var book1 = new Book('山海经');
    book1.getBookName();
    
    var book2 = new Book('黄帝大战蚩尤');
    book2.getBookName();

上面的代码中,book1以及book2是同一个类Book返回的两个值。虽然调用的是同一对象,但返回的结果都是在调用对象时传入的,只是他们拥有同样的方法,不用重复去写了。