OO in JS(1)

创建对象

工厂模式

1
2
3
4
5
6
7
8
9
10
11
12
// 按照我的理解此时生成了一个prototype,constructor为Person1
function Person1(name) {
let o = new Object() // 等价于let o = {},注意new的是Object
o.name = name
o.sayName = function () {}
return o
}
let person1 = Person1('Orion')
Person1.prototype // __proto__为Obejct的只有constructor的对象,代表该构造函数对应的prototype
person1.__proto__ // Object,代表该实例的原型对象
person1 instanceof Person1 // false,是Object
person1.constructor === Person1 // false,是Object

Read More