zoukankan      html  css  js  c++  java
  • 【JS】 初识JS原型

    //this 和 prototype 的区别
    //1.this 声明的成员 属于AA类;prototype 声明的成员 属于原型所有
    //2.在 var aa=new AA() 时, aa将拥有prototype和this的所有成员;调用一个成员时会先去this(即属于AA类的成员)里面找,再去prototype里找;
     
    //call 和 prototype 实现继承的区别
    //1.例如:BB类使用 AA.Call(this) 
    //    1.BB类只会拥有AA类的成员,而不会拥有AA的prototype的成员;而使用prototype实现继承 则会拥有prototype对象的所有成员
    //    2.prototype可以实现多级继承,即AA的prototype是BB对象,BB的prototype是CC对象,此时AA的实例将会拥有 BB类、CC类的所有成员,
    //      在调用顺序上先找本类的,再找本类原型的,一直找到Object为止
     
    //prototype 和 __proto__
    //prototype是函数对象(即类||Function||Constructor)的属性,指向的所应用另一个函数对象的实例,
    //__proto__是实例对象的属性,指向这个实例的函数对象的prototype      
    //证实:  [aa.__proto__===AA.prototype] 为true
     
    //constructor
    //每个prototype 都有一个 constructor属性 ,指向所属的 函数对象(Function)  [AA.prototype.constructor===AA] 为true
     
    //普通方法、静态方法
      普通方法使用this声明,静态方法使用函数对象名声明 (注:实例不能使用静态方法(即其函数对象声明的方法))
     
    //函数对象的原型 为 单例的,即:函数对象和函数对象的实例共享;如:AA.prototype/new AA().__proto__  可以对原型进行修改,修改实例和函数 所指向的原型的值都会改变
     
  • 相关阅读:
    勘测定界三调版发布
    混沌加密解密,附带完整C#源码
    c# 获取照片的经纬度和时间
    第8章代码
    使用Python读取照片的GPS信息
    6章代码
    python运行时间的两种方法
    5章代码
    在 ArcGIS 中使用的查询表达式的 SQL 参考
    15章代码
  • 原文地址:https://www.cnblogs.com/LightChan/p/7569230.html
Copyright © 2011-2022 走看看