JavaScript对象创建模式

2021-07-13  本文已影响0人  Lnevan

1.object构造函数

let p = new Object()
p.name = 'Tom'
p.age = 12
p.setName = function(name) {
  this.name = name
}
p.setName("JACK")
console.log(p.name,p.age) //JACK 12

2.对象字面量模式

let p = {
  name: 'Tom',
  age: 12,
  setName: function (name) {
    this.name = name
  }
}

3.工厂模式

function createPerson(name,age) {
  let obj = {
    name: name,
    age: age,
    setName: function(name) {
      this.name = name
    }
  }
  return obj
}
let p1 = createPerson('Tom',12)
let p2 = createPerson('Jack',13)

4.自定义构造函数模式

function Person(name,age) {
  this.name = name
  this.age = age
  this.setName = function(name) {
    this.name = name
  }
}
let p1 = new Person('Tom',12)
p1.setName('Jack')
console.log(p1.name,p1.age) //Jack 12

5.构造函数+原型模式

function Person(name,age) {
  this.name = name
  this.age = age
}
Person.prototype.setName = function(name) {
  this.name = name
}
let p1 = new Person('Tom',12)
上一篇 下一篇

猜你喜欢

热点阅读