const obj = { name: 'sifan', age: '21' }
缺点,一次创建多个对象的时候重复代码太多,过于复杂
function Person(name, age) { const obj = new Object() obj.name = name obj.age = age obj.sayName = () => { console.log(obj.name) } return abj } const obj = new Person('sifan', 21) const obj2 = new Person('sifan2', 22) console.log(typeof obj) // Object console.log(typeof obj2) //object
缺点:非常明显,就是不知道创建的新对象是什么类型的(person)
构造函数是用于创建特定类型对象的,所以可以用来自定义构造函数来创建自定义类型的对象
function Person(name, age) { this.name = name this.age = age this.sayName = function() { console.log(this.name) } } let person1 = new Person('sifan', 21) let person2 = new Person('sifan2', 22)
构造函数于工厂模式的区别主要于以下三点: