在原型链之中的查询及this指向问题
来源:互联网 发布:net java做什么用 编辑:程序博客网 时间:2024/06/15 08:35
/** * Created by zhang on 2017/5/9. */var Sup = function(){ this.name = "sup"; this.getName = function(){ console.log("go in sup get"); return this.name; }}var sup = new Sup();//超类搭建完毕var Sub = function(){ // this.name = "sub"; // this.getName = function(){ // console.log("go in sub get"); // return this.name; // }}Sub.prototype = sup;var sub = new Sub();console.log(sub.getName());//记录
//情景1
// 方法在子类实例中 属性在超类之中, 首先寻找对应方法,在子类方法中调用,然后寻找属性name,在子类实例中未找到,然后触发查询,在超类中找到,返回超类Name属性 结果 进入子类方法 返回超类属性
//情景2
// 方法在超类实例中 属性在子类实例中,首先寻找方法,触发查询在超类内部,在超类调用getname方法,但其中的this指向了调用这个方法的上下文环境,也就是子类实例,所以不会指向超类的name。
//情景3
// 方法和属性都在超类实例之中,这样会触发两次查询,首先查询到超类方法之中,然后这里面的this是绑定在子类实例之上的,但是子类内部没有name属性,所以触发第二次查询value,最后在超类内部找到并返回
//原则
内部未找到就触发原型链查找,这里面的this.的绑定是动态的,只有当真正触发的时候才会进行绑定,一般来说绑定着触发这个方法或环境的上下文对象。
0 0
- 在原型链之中的查询及this指向问题
- 变量的原型链和this的指向
- this的指向问题
- js闭包中this的指向问题及三种解决方法
- JavaScript难点——this的用法及指向问题
- javascript 的 this 指向问题
- js中的this指向问题及解决方案
- this指向详解及改变它的指向的方法
- 关于this指向及其改变指向的问题
- this指向及this应用
- IE9以下的this指向问题
- JavaScript的三种this指向问题
- js中this关键字的指向问题
- 关于javascript的this指向问题
- javascript中this的指向问题
- java中多态的this指向问题
- javascript中this指向问题的综合
- 理解js中this的指向问题
- UI的PureMVC框架学习系列博客
- 高阶矩阵快速幂
- transfer learning(matlab 实现)
- 应用调试之配置修改内核打印用户态段错误信
- 用过滤器filter设置编码格式
- 在原型链之中的查询及this指向问题
- 初识分布式服务管理框架-Dubbo
- 经典软件体系结构风格(四)
- Maven基础知识
- 程序员也是会浪漫的->打造浪漫的Android表白程序
- yolo v2 android ok(源码)
- 台湾大学林轩田机器学习基石课程学习笔记8 -- Noise and Error
- Springboot的配置文件Application.properties
- 南阳理工acm 176 整数划分(二)