在面向类的语言中,对象是类的实例,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'

本文转载:CSDN博客