美文网首页
十三(11)、原型链方法中的this问题 ------ 2020

十三(11)、原型链方法中的this问题 ------ 2020

作者: 自己写了自己看 | 来源:发表于2020-04-06 09:29 被阅读0次

1、原型链方法中的this判定三步骤:

/**
* 1、方法执行,看方法前面是否有点,点前面是谁,this就是谁;
* 2、把方法前面总的this进行替换;
* 3、再基于原型链查找的方法,确定结果即可;
*/
function Fn() {
    this.x = 100;
    this.y = 200;
    this.say = function () {
       console.log(this.x); 
   }
}

Fn.prototype.say = function () {
    console.log(this.y);
}

Fn.prototype.eat = function () {
   console.log(this.x + this.y);
}

let f1 = new Fn;

f1.say(); // this => f1; 100

f1.eat(); // 300

// 基于原型链先查找 eat 方法,但是点前面是谁,方法中的
// this就是谁,this => f1;

f1._proto_.say(); // this => f1._proto_ undefined

Fn.prototype.eat(); // this => Fn.prototype undefined

相关文章

  • 十三(11)、原型链方法中的this问题 ------ 2020

    1、原型链方法中的this判定三步骤:

  • JavaScript继承

    原型链 ECMAScript中描述了原型链的概念,并将原型链作为实现继承的主要方法。其基本思想是利用原型让一个引用...

  • JavaScript 原型与原型链以及继承方式

    原型 ECMAScript 中描述了原型链的概念,并将原型链作为实现继承的主要方法。其基本思想是利用原型让一个引用...

  • Es5 继承

    Es5 对象和原型链实现混合继承 方法的区别 在构造函数和原型链添加方法区别: 结论: 原型链上的方法会被多个实...

  • JS继承-如何继承Date对象

    经典的继承法有何问题 看一下报错信息 按照原型链回溯规则,Date的所有原型方法都可以通过MyDate对象的原型链...

  • 5.语法

    ++的副作用Paste_Image.pngPaste_Image.png 关于原型链赋值的问题如下图,原型上的方法...

  • 面向对象(三)

    内容承接 面向对象(二) 继承 ECMAScript中描述了原型链的概念,并将原型链作为实现继承的主要方法。其基本...

  • JavaScript 原型与原型链

    原型链:通过原型链实现的,子类调用父类的方法时会一直沿着原型链往上找到父类的原型对象并调用相应的方法从而实现继承;...

  • JS原型链知识学习笔记

    ECMAScript 中描述了原型链的概念,并将原型链作为实现集成的主要方法。其基本思想是利用原型让一个引用类型继...

  • 原型链

    ECMAScript中描述了原型链的概念,并将原型链作为实现继承的主要方法。其基本思想是利用原型让一个引用类型继承...

网友评论

      本文标题:十三(11)、原型链方法中的this问题 ------ 2020

      本文链接:https://www.haomeiwen.com/subject/imlvphtx.html