javascript自定义对象构造的方式实例详解
程序员文章站
2022-04-07 10:49:53
...
创建高级对象构造有两种方式:使用“this”关键字构造、使用原型prototype构造。如:
//使用this关键字定义构造的上下文属性 function Girl() { this.name = "big pig"; this.age = 20; this.standing; this.bust; this.waist; this.hip; } //使用prototype function Girl(){} Girl.prototype.name = "big pig"; Girl.prototype.age = 20; Girl.prototype.standing; Girl.prototype.bust; Girl.prototype.waist; Girl.prototype.hip; alert(new Girl().name);
上例中的两种定义在本质上没有区别,都是定义“Girl”对象的属性信息。“this”与“prototype”的区别主要在于属性访问的顺序。如:
function Test() { this.text = function() { alert("defined by this"); } } Test.prototype.test = function() { alert("defined by prototype"); } var _o = new Test(); _o.test();//输出“defined by this”
当访问对象的属性或者方法是,将按照搜索原型链prototype chain的规则进行。首先查找自身的静态属性、方法,继而查找构造上下文的可访问属性、方法,最后查找构造的原型链。
“this”与“prototype”定义的另一个不同点是属性的占用空间不同。使用“this”关键字,示例初始化时为每个实例开辟构造方法所包含的所有属性、方法所需的空间,而使用“prototype”定义,由于“prototype”实际上是指向父级的一种引用,仅仅是个数据的副本,因此在初始化及存储上都比“this”节约资源。
以上就是javascript自定义对象构造的方式实例详解的详细内容,更多请关注其它相关文章!
推荐阅读
-
javascript对象的多种合并方式详解
-
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
-
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
-
javascript创建对象的几种方式(详解javascript基本数据类型)
-
javascript创建对象、对象继承的实用方式详解
-
javascript创建对象的几种方式(详解javascript基本数据类型)
-
javascript实现Java中的Map对象功能的实例详解
-
JS基础语法---创建对象---三种方式创建对象:调用系统的构造函数;自定义构造函数;字面量的方式
-
javascript创建对象、对象继承的实用方式详解
-
JavaScript原型对象、构造函数和实例对象功能与用法详解