call,apply,bind初识
call、apply、bind三者是Function对象自带的方法 作用: 改变this指向 返回值: call、apply 是返回一个立即执行函数 bind返回一个函数,也便于稍后调用 使用方法: call与apply两者作用完全相同,不同的是接收参数的方式不太一样。call是将参数按顺序传递进去, 而apply将是把参数放在数组里。 bind()方法会创建一个新的函数,称之为绑定函数。当调用这个绑定函数的时候,绑定函数会以创建它时 传入bind()方法的第一个参数作为this,传入bind()方法的第二个以及以后的参数加上绑定函数运行时 本身的参数按照顺序作为原函数的参数来调用原函数。 call(this 要指向的对象(想指定的上下文),参数1,参数2,参数3,参数4,......,参数n) apply(this 要指向的对象(想指定的上下文),[参数1,参数2,参数3,参数4,......,参数n]) 适用场景: JavaScript 中,某个函数的参数数量是不固定的,因此要说适用条件的话,当你的参数是明确知道数量时用 call 。 而不确定的时候用 apply,然后把参数 push 进数组传递进去。当参数数量不确定时,函数内部也可以通过 arguments 这个数组来遍历所有的参数。 常见实例: (一)call (1):数组之间追加 1 var array1 =