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不会克隆同名函数.