【Vue源码相关】JS中call()和apply()以及bind()的区别

时间:2020-07-01 17:27:38   收藏:0   阅读:198

  一、方法定义:

 上面的定义看一遍是很懵的,不过自己遍写例子遍反复读的时候,会有种拨开云雾的感觉。

相同点:

 不同点:传入的列表形式不一样

  二、问题:

技术分享图片

结果:
技术分享图片
解决方法1:这种解决方法通常适用于继承的场景
技术分享图片
传参时:
技术分享图片
结果:
技术分享图片
解决方法2:通过赋值的方式将this赋值给_this即可
var a = {
    b: function() {
      var _this = this; // 通过赋值的方式将this赋值给_this
      var func = function() {
        console.log(_this.c);
      }
      func();
    },
    c: ‘hello‘
  }
  a.b(); // hello
  console.log(a.c); // hello

 

原文:https://www.cnblogs.com/vickylinj/p/13220325.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!