call apply bind 修改this指向的区别

javascript 复制代码
  var obj1 = {
        name: 'zhang',
        getName() {
            console.log(this.name)
        }
    }
    var obj2 = {
        name: 'list',
        getName() {
            console.log(this.name)
        }
    }
    obj1.getName.call(obj2)  //list
    obj1.getName.apply(obj2)  //list
    obj1.getName.bind(obj2)  //  
    obj2.getName()           //list

call 改变this,自动执行函数,

apply 改变this,自动执行函数,第二个参数开始:将原函数的参数放在一个数组中

bind 改变this,手动加括号执行函数(),不会自动执行

相关推荐
小码哥_常3 分钟前
Android 开发秘籍:用Tint为Icon动态变色
前端
小码哥_常3 分钟前
从0到1手把手封装Android基类Activity/Fragment,告别重复代码,开发效率直接拉满!
前端
ChoriaKiinweill3 分钟前
不会有人现在还不了解BOM的知识吧? 关于它的一切都在这里!!!
前端
ChoriaKiinweill4 分钟前
我们最爱操纵的DOM是个什么玩意? 关于DOM的知识快速一览!
前端
毛骗导演6 分钟前
万字解析 OpenClaw 源码架构-代理系统(二)
前端·架构
im_AMBER6 分钟前
从0到1实现块级编辑器的文件导入
前端·架构
不可能的是7 分钟前
彻底搞懂 Module Federation(中中):MF 模块加载(上)
前端·webpack
毛骗导演7 分钟前
万字解析 OpenClaw 源码架构-工具与自动化
前端
毛骗导演9 分钟前
万字解析 OpenClaw 源码架构-代理系统(一)
前端·架构
波哥学开发9 分钟前
🎯 Canvas 箭头绘制算法(附完整源码)
前端·计算机图形学