构造方法或new返回该对象

2020-10-17 09:45:26 浏览数 (1)

一个小技巧,调用构造方法或都new返回该对象:

代码语言:javascript复制
function Person(){
  // ...

  // 不是new的时候this指向的是调用者 默认是window
  if (!(this instanceof Person)) {
    return new Person();
  }
}

Person.prototype.sayHello = function (){
  console.log("Hello World!");
}

var lufei = Person();
lufei.sayHello();
var nami = new Person();
nami.sayHello();

0 人点赞