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,手动加括号执行函数(),不会自动执行

相关推荐
百变梦仔15 分钟前
Codex 写前端任务时,我用这张 GitHub Skill 地图先选工具
前端·github
2601_9621229742 分钟前
nginx 部署前端vue项目
前端·vue.js·nginx
雪芽蓝域zzs1 小时前
第三节:目录结构重构(仿若依,优化层级,layout 与 components 同级)
前端·vue.js·重构
小磊哥er2 小时前
深入解构Claude Code - 第 5 篇 · 每次提问都给 AI 塞了什么资料
javascript·ai编程
小磊哥er2 小时前
深入解构Claude Code - 第 4 篇 · 工具:AI 的手
javascript·ai编程
子非鱼a2 小时前
【WEB】[NewStarCTF 公开赛赛道]UnserializeOne
前端·javascript·html
南雨北斗2 小时前
Vue3 v-model中的自动事件绑定
前端
小磊哥er3 小时前
深入解构Claude Code - 第 3 篇 · 一问一答怎么转起来
javascript·ai编程
小磊哥er4 小时前
深入解构Claude Code - 第 2 篇 · 启动的秘密
javascript·ai编程
雪芽蓝域zzs4 小时前
第八节:Element Plus 基础、封装通用组件 + 路由守卫
前端·vue.js