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__  可以对原型进行修改,修改实例和函数 所指向的原型的值都会改变
     
  • 相关阅读:
    讨论Android开发中的MVC设计思想
    关于AppFromwork集成XMPP开发的使用详解
    Android 强大的开发支持库组件AppFromwork框架详解
    Z语音概述from百度
    《软件形式规格说明语言-Z》 缪淮扣 学习笔记 10-12
    形式化规格技术和验证技术小结
    编译TS发生 Property or signature expected
    electron 启动错误
    java学习第三章4.运算
    java学习第三章3.基本类型的转换和直接量
  • 原文地址:https://www.cnblogs.com/LightChan/p/7569230.html
Copyright © 2011-2022 走看看