构造方法或new返回该对象

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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%