JavaScript—call, apply, bind 函数能干啥?(全)(20)
call(),apply(),bind() 函数大家可能都有所了解,但是在平时搬砖过程中很可能或者基本没用过,学过但都淡忘了。 但是在大量第三方的框架(库),甚至js自己都在 源码中大量使用 call,apply 函数。所以今天和大家仔细讨论下它们在 开发中的应用场景 。 1 . 它们是啥意思1.1 作用他们的作用都是改变函数内部的this。这三个函数都是函数对象的方法,也就是说只有函数才可以直接调用这些方法。1.2 三者区别参数: 三个函数的第一个参数都是需要绑定的 this。call: 可以有n个参数,从第二个参数开始的所有参数都是原函数的参数。 `apply`:只有两个参数,并且第二个参数必须为数组,数组中的所有元素一一对应原函数的参数。 `bind`: 只有一个参数,即要绑定的this。 call 语法: foo.call(this, arg1,arg2, ... ,argn ); apply 语法: foo.apply(this, [ arg1,arg2, ... ,argn ] ); bind 语法: foo.bind(this); 调用:call,apply: 调用后立即...