最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

javascript自定义对象构造的方式实例详解

来源:动视网 责编:小采 时间:2020-11-27 20:15:02
文档

javascript自定义对象构造的方式实例详解

javascript自定义对象构造的方式实例详解:创建高级对象构造有两种方式:使用this关键字构造、使用原型prototype构造。如: //使用this关键字定义构造的上下文属性 function Girl() { this.name = "big pig"; this.age = 20; this.standing; this.b
推荐度:
导读javascript自定义对象构造的方式实例详解:创建高级对象构造有两种方式:使用this关键字构造、使用原型prototype构造。如: //使用this关键字定义构造的上下文属性 function Girl() { this.name = "big pig"; this.age = 20; this.standing; this.b


创建高级对象构造有两种方式:使用“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自定义对象构造的方式实例详解:创建高级对象构造有两种方式:使用this关键字构造、使用原型prototype构造。如: //使用this关键字定义构造的上下文属性 function Girl() { this.name = "big pig"; this.age = 20; this.standing; this.b
推荐度:
标签: 方法 讲解 js
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top