Can I construct a JavaScript object without using the new keyword?

后端 未结 15 2753
北海茫月
北海茫月 2020-11-27 16:04

Here is what I\'d like to do:

function a() {
  // ...
}
function b() {
  //  Some magic, return a new object.
}
var c = b();

c instanceof b // -> true
c          


        
15条回答
  •  無奈伤痛
    2020-11-27 16:44

    Yes you can do this.

    var User = function() {
      var privateMethod = function() {
        alert('hello');
      }
    
      return {
        sayHello : function() {
          privateMethod();
          this.done = true;
        }
      }
    }
    
    var user1 = User();
    

    Is anything wrong with this method?

提交回复
热议问题