• javascript中的prototype


     javascript的方法可以分为三类:
    a 类方法
    b 对象方法
    c 原型方法 
    例子:
     
    function People(name)
    {
    this.name=name;
    //对象方法
    this.Introduce=function(){
    alert("My name is "+this.name);
    }
    }
    //类方法 静态方法
    People.Run=function(){
    alert("I can run");
    }
    //原型方法
    People.prototype.IntroduceChinese=function(){
    alert("我的名字是"+this.name);
    }

    a.prototype=new B();我的理解

    理解prototype不应把它和继承混淆。A的prototype为B的一个实例,可以理解A将B中的方法和属性全部克隆了一遍。A能使用B的方法和属性。这里强调的是克隆而不是继承。可以出现这种情况:A的prototype是B的实例,同时B的prototype也是A的实例。a是B的派生对象,相当于a先复制b,然后再拓展。

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

     

     

  • 相关阅读:
    Go语言标准库flag基本使用
    GO学习-(12) Go语言基础之函数
    GO学习-(11) Go语言基础之map
    GO学习-(10) Go语言基础之指针
    Spring AOP
    JDK动态代理
    版本控制
    版本控制
    浅析Java反射机制
    Spring Batch学习
  • 原文地址:https://www.cnblogs.com/javahuang/p/2971709.html
Copyright © 2020-2023  润新知