美文网首页
bind、call、apply 区别

bind、call、apply 区别

作者: 码农私房菜 | 来源:发表于2022-08-11 15:59 被阅读0次

1.call和apply会调用函数,且会改变函数内部的this指向
2.call和apply传递的参数不一样,call传递参数aru1,aru2.形式 而apply必须是数组形式[arg]
3.bind 不会调用函数,可以改变函数内部指向

应用场景:
  1. call经常做继承
    • 使用方法:要改变this指向的函数.call(this的新指向,参数1,参数2……)
  2. apply经常和数组有关系,比如借助于数学对象实现数组的max、min
    • 使用方法:要改变this指向的函数.apply(this的新指向,数组),参数以数组形式传入
  3. bind不调用函数,但改变this指向,比如改变定时器内部的this指向
    • 使用方法:要改变this指向的函数.bind(this的新指向,参数1,参数2……)
apply:调用一个对象的一个方法,用另一个对象替换当前对象。
例如:B.apply(A, arguments);即 A 对象应用 B 对象的方法。 
call:调用一个对象的一个方法,用另一个对象替换当前对象。
例如:B.call(A, args1,args2); 即 A 对象调用 B 对象的方法。 
bind: 除了返回是函数以外,它的参数和 call 一样。
例如:B.bind(A,args1,args2,...)()

相关文章

  • 理解JS中的 call, apply, bind方法

    call, apply, bind 方法的目的和区别 我们常说,call(), apply(),bind()方法的...

  • this_原型链_继承

    this相关问题 apply、call 、bind的作用以及区别 call、apply和bind方法的用法以及区别...

  • this&原型链&继承

    this 1. apply、call 、bind有什么作用,什么区别? apply、call 、bind 都是用来...

  • this_原型链_继承

    this 相关 1. apply、call 、bind有什么作用,什么区别 apply、call、bind可以改变...

  • 关于 this_原型链_继承 相关问题总结

    关于this 1- apply、call 、bind的作用和区别 apply、call 、bind都有改变thi...

  • this_原型链_继承

    问题1: apply、call 、bind有什么作用,什么区别? apply和call call apply,调用...

  • this 原型链 继承

    this 相关问题 1.apply、call 、bind有什么作用,什么区别 apply、call 、bind这三...

  • call(),apply()和bind()

    call、apply和bind函数存在的区别:bind返回对应函数, 便于稍后调用; apply, call则是立...

  • this 相关问题

    问题1: apply、call 、bind有什么作用,什么区别 apply call bind 问题2: 以下代码...

  • js继承

    问题1: apply、call 、bind有什么作用,什么区别 apply/call/bind 问题2: 以下代码...

网友评论

      本文标题:bind、call、apply 区别

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