在Node.Js上创建“新”对象

这个问题在这里已经有了答案:

  • JavaScript中的'new'关键字是什么? 13个答案

  • 以此为例:

    function SomeClass() {}
    SomeClass.prototype = {
        sayHi: function() {
            console.log('hello');
        }
    };
    
    function foo() {
        return new SomeClass();
    }
    
    foo() // => returns a new SomeClass object
    

    在这种情况下, foo就是他们所说的“工厂”功能,因为它有点像创建对象的工厂类型(就像现实生活中工厂创建新对象,汽车工厂等一样)。 )

    这对单身人士也是有益的:

    (function() {
        var singleton;
    
        function SomeClass() {}
        SomeClass.prototype = {
            sayHi: function() {
                console.log('hello');
            }
        };
    
        function foo() {
            singleton = singleton || new SomeClass();
            return singleton;
        }
    
        window.foo = foo;
    }());
    
    foo(); // returns a new SomeClass
    foo(); // returns the same SomeClass instance (not a new one). This is a singleton.
    

    Node.js只是普通的JavaScript,所以在你给出的例子中,你所做的只是从模块中包含工厂并使用它来创建新对象(“类”的实例)。


    如果不使用新关键字,则可能表示它们在需要时返回新对象。

    链接地址: http://www.djcxy.com/p/40867.html

    上一篇: Creating "new" objects on Node.Js

    下一篇: new Object, code in moduls