一种构造函数的写法

在Javascript中,Array() 和 new Array()返回的结果是一样的ECMA-262中定义

如果我们把自己定义的构造函数写成如下,也可以达到同样效果

function Something(){
  if ( !(this instanceof arguments.callee) ){
    var F = arguments.callee;
    return new F(arguments);
  }

  // create your object
  // Example
  //this.prop = 'value';
}
4 comments