码迷,mamicode.com
首页 > 编程语言 > 详细

javascript学习随笔(二)原型prototype

时间:2015-05-19 14:27:52      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

JavaScript三类方法:

1、类方法;2、对象方法;3、原型方法;注意三者异同

例:

 1 function People(name){
 2 this.name=name;
 3 //对象方法
 4 this.Introduce=function(){
 5 console.log(‘My Name Is ‘+this.name);
 6 }
 7 }
 8 
 9 //类方法
10 People.Run=function(){
11 console.log(‘I Can Run‘);
12 }
13 
14 //原型方法
15 People.prototype.IntroduceChinese=function(){
16 console.log(‘我的名字是‘+this.name);
17 }
18 
19 //测试
20 var p=new People(‘Tom‘);
21 
22 p.Introduce();
23 People.Run();
24 p.IntroduceChinese();

 JavaScript对象类型原型引用,切记将某对象的原型赋给某对象原型,这不是继承关系,而是将克隆,且存在冲突函数或属性时,保留自己的函数和属性

例1、

 1 function  BaseClass(){
 2 this.showMsg=function(){
 3 alert(‘baseClass::showMsg‘);
 4 };
 5 }
 6 
 7 function  ExtendClass(){
 8 
 9 }
10 
11 ExtendClass.prototype=new BaseClass();
12 
13 var extend=new ExtendClass();
14 extend.showMsg();//弹出baseClass::showMsg

例2、

 1 function  BaseClass(){
 2 this.showMsg=function(){
 3 alert(‘bassClass::showMsg‘);
 4 };
 5 }
 6 
 7 function  ExtendClass(){
 8 this.showMsg=function(){
 9 alert(‘extendClass::showMsg‘);
10 };
11 }
12 
13 ExtendClass.prototype=new BassClass();
14 
15 var extend=new ExtendClass();
16 extend.showMsg();//弹出extendClass::showMsg

函数运行时会先去本体的函数中去找,如果找到则运行,找不到则去prototype中寻找函数。或者可以理解为prototype不会克隆同名函数.

 

javascript学习随笔(二)原型prototype

标签:

原文地址:http://www.cnblogs.com/hujiapeng/p/4514327.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!