zoukankan      html  css  js  c++  java
  • javascript学习随笔(二)原型prototype

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

  • 相关阅读:
    简单 dp 题选做
    UVa11327
    Codeforces Round #641 (div.2) 题解
    新博客
    数位dp的学习
    stl粗略用法
    cf437C The Child and Toy
    poj1995 Raising Modulo Numbers
    Tarjan的学习
    最短路模板
  • 原文地址:https://www.cnblogs.com/hujiapeng/p/4514327.html
Copyright © 2011-2022 走看看