1 function Person(name, age, job) {
2 if (
this instanceof Person) {
3 this.name =
name;
4 this.age =
age;
5 this.job =
job;
6 }
else {
7 return new Person(name, age, job);
8 }
9 }
10
11 var person1 = Person("Nicholas", 29, "Software Engineer"
);
12 console.log(window.name);
13 console.log(person1.name);
14
15 var person2 =
new Person("Shelby", 34, "Ergonomist"
);
16 console.log(person2.name);
添加了判断是否调用构造函数来确保this不会被加到window对象上
转载于:https://www.cnblogs.com/qzsonline/archive/2012/06/08/2541913.html