方法:对象字面量 object构造函数
缺点:都是创建单个对象。同一个接口创建多个对象,会产生大量重复代码
用函数封装以特定的接口创建对象
function createPerson (name,age) { //返回一个对象的函数就是工厂函数 var obj = { name: name, age: age, sstName: function (name) { this.name = name } } return obj }
与工厂函数区别:
要创建新实例,必须用new操作符
function Person (name,age) { this.name = name this.age = age this.setName = function (name) { this.name = name } } var p1 = new Person(‘tom‘,15) var p2 = new Person(‘jack‘,14) console.log(p1 instanceof Person) //true p1是Person类型 function student (name,grade) { this.name = name this.grade = grade } var s1 = new student(‘peter‘,6) console.log(s1 instanceof student) //true s1是student类型 console.log(p1,p2)
原文:https://www.cnblogs.com/-constructor/p/11869968.html