作家
登录

JavaScript创建对象的七种方式

作者: 来源: 2017-06-14 18:03:13 阅读 我要评论

JavaScript创建对象的方法有很多,经由过程Object构造函数或对象字面量的方法也可以创建单个对象,显然这两种方法会产生大年夜量的反复代码,并不合适量产。接下来介绍七种异常经典的创建对象的方法,他们也各有优缺点。

JavaScript创建对象的七种方法

  1. Object.defineProperty(Person.prototype, 'constructor', { 
  2.   enumerable: false
  3.   value: Person 
  4. }) 

组合应用构造函数模式和原型模式

工厂模式

  1. function createPerson(name, job) { 
  2.   var o = new Object() 
  3.   o.name = name 
  4.   o.job = job 
  5.   o.sayName = function() { 
  6.     console.log(this.name
  7.   } 
  8.   return o 
  9. var person1 = createPerson('Jiang''student'
  10. var person2 = createPerson('X''Doctor'

工厂模式固然解决了创建多个类似对象的问题,然则没有解决对象辨认问题,即不克不及知道一个对象的类型

  1. function Person(name, job) { 
  2.   this.name = name 
  3.   this.job = job 
  4.   this.sayName = function() { 
  5.     console.log(this.name
  6.   } 
  7. var person1 = new Person('Jiang''student'
  8. var person2 = new Person('X''Doctor'

没有显示的创建对象,应用new来调用这个构造函数,应用new后会主动履行如下操作

  • 创建一个新对象
  • 这个新对象会被履行[[prototype]]链接
  • 这个新对象会绑定到函数调用的this
  • 返回这个对象

可以无数次调用这个工厂函数,每次都邑返回一个包含两个属性和一个办法的对象

构造函数模式

应用这个方法创建对象可以检测对象类型

  1. person1 instanceof Object // true 
  2. person1 instanceof Person //true 

然则应用构造函数创建对象,每个办法都要在每个实例上从新创建一次

原型模式

  1. function Person() { 
  2. Person.prototype.name = 'Jiang' 
  3. Person.prototype.job = 'student' 
  4. Person.prototype.sayName = function() { 
     1/4    1 2 3 4 下一页 尾页

      推荐阅读

      最新Mac恶意软件现身,安全专家提醒不要过于自信

    在“暗网(Dark Web)” 上出现了两款针对 Mac 电脑的全新恶意软件,这两款 Mac 恶意软件分别是 MacSpy 和 MacRansom ,并经由过程 Maas 和 Raas 方法进击。两款恶意软件来自一个>>>详细阅读


    本文标题:JavaScript创建对象的七种方式

    地址:http://www.17bianji.com/lsqh/35768.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)