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

相关推荐
dr李四维2 分钟前
iOS构建版本以及Hbuilder打iOS的ipa包全流程
前端·笔记·ios·产品运营·产品经理·xcode
I_Am_Me_16 分钟前
【JavaEE进阶】 JavaScript
开发语言·javascript·ecmascript
雯0609~24 分钟前
网页F12:缓存的使用(设值、取值、删除)
前端·缓存
℘团子এ27 分钟前
vue3中如何上传文件到腾讯云的桶(cosbrowser)
前端·javascript·腾讯云
学习前端的小z32 分钟前
【前端】深入理解 JavaScript 逻辑运算符的优先级与短路求值机制
开发语言·前端·javascript
前端百草阁1 小时前
【TS简单上手,快速入门教程】————适合零基础
javascript·typescript
彭世瑜1 小时前
ts: TypeScript跳过检查/忽略类型检查
前端·javascript·typescript
FØund4041 小时前
antd form.setFieldsValue问题总结
前端·react.js·typescript·html
Backstroke fish1 小时前
Token刷新机制
前端·javascript·vue.js·typescript·vue
zwjapple1 小时前
typescript里面正则的使用
开发语言·javascript·正则表达式