在面向类的语言中,对象是类的实例,JS是面向对象的语言,对象是基于另一个对象继承而来。下面总结下在js中创建的对象的几种方式
Object 构造函数
var a = new Object()
Object.create
var a = Object.create(Object.prototype);
关于该方法的详细信息,可以查看
对象字面量
var a = {}
使用这种方式创建对象,和Object.create(Object.prototype)
扩展而来是完全等价的
构造函数
var Person = function(name){
this.name=name
}
let Bob = new Person('Bob')
工厂模式
//define a factory function
var createPerson=function(name){
var person = new Object();
person.name = name
}
//create a object
var Bob = createPerson('Bob')
构造函数+原型模式
var Person = function(name){
this.name = name
}
Person.prototype.getName = function(){
return this.name
}
//实例化
var Bob = new Person('Bob')
Bob.getName()//'Bob'