时间:2021-05-26
本文实例总结了JS 创建对象的模式。分享给大家供大家参考,具体如下:
抽象了创建具体对象的过程,创建了一种函数,封装特定的接口创建对象的细节。
存在问题:
没有解决对象识别的问题(怎么识别对象的类型)
存在问题:
创建的每一个函数都有prototype原型属性,这个属性是一个指针,指向一个对象,这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。
所有原生引用类型都在其构造函数的原型上定义了方法
function Person{}Person.prototype.name="name"Person.prototype.age="age"Person.prototype.job="job"Person.prototype.sayHi=function(){ console.log(this.name)}var person1=new Person()var person2=new Person()存在问题:
构造函数用来定义实例属性,原型模式用来定义方法和共享的属性
function Person(name, age, job) { this.name = name; this.age = age; this.job = job;}Person.prototype={ constructor:Person; sayHi:function(){ console.log(this.name) }}var person1 = new Person("name1", "age1", "job1");这里对原型的修改,能够对所有实例生效,只在初次调用构造函数会执行
function Person(name,age,job){ this.name=name; this.age=age; this.job=job; if(typeof this.sayHi !="function" ){ Person.prototype.sayHi=functong(){ console.log(this.name) } }}var person1 = new Person("name1", "age1", "job1");工厂模式+构造函数
摘抄自《JavaScript 高级程序设计》第六章
感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、什么是原型模式在js中,创建对象的方式有工厂模式和构造函数模式等;而构造函数模式最大的问题在于:构造函数中的每个方法都需要在实例对象中重新创建一遍,不能复用
本文实例分析了JS常见构造模式。分享给大家供大家参考,具体如下:1.工厂模式没有解决对象识别的问题。因为函数内部使用了newObject来创建对象functio
Prototype模式定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。Prototype模式允许一个对象再创建另外一个可定制的对象,根本无
介绍与创建型模式类似,工厂模式创建对象(视为工厂里的产品)时无需指定创建对象的具体类。工厂模式定义一个用于创建对象的接口,这个接口由子类决定实例化哪一个类。该模
本文实例讲述了jQuery高级编程之js对象、json与ajax用法。分享给大家供大家参考,具体如下:js对象创建js对象的两种方式:1.通过newObject