2020-06-07 js创建对象的几种方式

95 阅读1分钟

1.最常见的肯定是字面量创建

(字面量表示如何表达这个值,一般除去表达式,给变量赋值时,等号右边都可以认为是字面量)

let obj = {
   name:"Alan",
   say(){}
}

2.构造函数创建

function A(){}
let obj = new A();

ES6的class属于构造函数创建的语法糖:

class A{
  constructor(name){
    this.name = name;
  }
}
let a = new A("Alan");

其中,a.__proto__ === A.prototype , A.prototype.__proto__ === Object.prototype

上两种比较重要


3.工厂模式

function objFactory(name){
     let obj = {name:name}
     return obj;
}
let obj = objFactory("Alan");

4.Object.create()

let a = {name:"alan"}
let b = Object.create(a)

其中,b.__proto__ === a