Java教程

JavaScript创建对象的方法

本文主要是介绍JavaScript创建对象的方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

创建对象

字面量方式创建对象

const obj = {
  name: 'sifan',
  age: '21'
}

缺点,一次创建多个对象的时候重复代码太多,过于复杂

工厂模式

function Person(name, age) {
  const obj = new Object()
  obj.name = name
  obj.age = age
  obj.sayName = () => {
    console.log(obj.name)
  }
  return abj
}
const obj = new Person('sifan', 21)
const obj2 = new Person('sifan2', 22)

console.log(typeof obj) // Object
console.log(typeof obj2) //object

缺点:非常明显,就是不知道创建的新对象是什么类型的(person)

构造函数模式

构造函数是用于创建特定类型对象的,所以可以用来自定义构造函数来创建自定义类型的对象

function Person(name, age) {
  this.name = name
  this.age = age
  this.sayName = function() {
    console.log(this.name)
  }
}

let person1 = new Person('sifan', 21)
let person2 = new Person('sifan2', 22)

构造函数于工厂模式的区别主要于以下三点:

  1. 没有显示的创建对象
  2. 属性和方法直接辅助给了this
  3. 没有return
    那么使用new的过程中经历了什么呢?
  4. 创建一个对象
  5. 将对象的[[prototype]]赋值构造函数prototype属性
  6. 将this指向新创建的对象
  7. 执行构造函数中的代码,给新对象添加属性
  8. 如果构造函数返回了其他对象,那么这个对象作废,否则返回新创建的这个对象(没怎么懂)
这篇关于JavaScript创建对象的方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!