摘要:组合使用构造函数模式和原型模式构造函数模式用于定义实例属性原型模式用于定义方法和共享的属性优点每个实例都有自己的实例属性的副本,但同时共享对方法的引用,最大限度的节省内存
组合使用构造函数模式和原型模式
构造函数模式用于定义实例属性
原型模式用于定义方法和共享的属性
优点:每个实例都有自己的实例属性的副本,但同时共享对方法的引用,最大限度的节省内存
function Person(name, age, job) { this.name = name; this.age = age; this.job = job; this.friends = ["Shelby", "Court"]; } Person.prototype = { constructor: Person, sayName: function () { alert(this.name); } }; var person1 = new Person("wwl1", 24, "java"); var person2 = new Person("wwl2", 25, "android"); person1.friends.push("Van"); alert(person1.friends); //"Shelby,Count,Van" alert(person2.friends); //"Shelby,Count" alert(person1.sayName === person2.sayName); //true
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/96956.html
摘要:组合使用构造函数模式和原型模式创建自定义类型的最常见方式,就是组合使用构造函数模式与原型模式。也就是说,寄生构造函数模式下,构造函数创建的对象与在构造函数外创建的对象没有什么不同。 前言 最近在细读Javascript高级程序设计,对于我而言,中文版,书中很多地方翻译的差强人意,所以用自己所理解的,尝试解读下。如有纰漏或错误,会非常感谢您的指出。文中绝大部分内容引用自《JavaScri...
摘要:前言虽然使用构造函数或者使用对象字面量可以很方便的用来创建一个对象,但这种方式有一个明显的缺点使用一个接口创建多个对象会产生很多冗余的代码。即调用构造函数所创建的那个对象的原型对象好处是可以让所有对象的实例共享他的属性的方法。 前言 虽然使用Object构造函数或者使用对象字面量可以很方便的用来创建一个对象,但这种方式有一个明显的缺点:使用一个接口创建多个对象会产生很多冗余的代码。因此...
摘要:构造函数模式这种方法创建自定义的构造函数,从而自定义对象类型的属性和方法。借用构造函数在子类型构造函数的内部调用超类型构造函数,通过和方法来实现。 JavaScript中没有类的概念,它不是严格意义上的面向对象语言,而是基于对象(Object-based)的编程语言。下面是读《JavaScript高级程序设计(第三版)》的学习笔记,总结一些常用的创建对象和继承的方法。 一、创建对象 1...
摘要:构造函数模式用于定义实例属性,而原型模式用于定义方法和共享的属性,这种组合模式还支持向构造函数传递参数。实例对象都有自己的一份实例属性的副本,同时又共享对方法的引用,最大限度地节省了内存。而关键字则代表实例对象。 相信大家对javascript中的面向对象写法都不陌生,那还记得有几种创建对象的写法吗?相信大家除了自己常写的都有点模糊了,那接下来就由我来帮大家回忆回忆吧! 1. 构造函数...
阅读 2004·2021-11-18 10:02
阅读 2822·2021-09-04 16:41
阅读 1122·2019-08-30 15:55
阅读 1335·2019-08-29 17:27
阅读 1022·2019-08-29 17:12
阅读 2457·2019-08-29 15:38
阅读 2834·2019-08-29 13:02
阅读 2753·2019-08-29 12:29