call,apply,bind用法
call
1 | var obj = { |
- call()方法调用一个函数, 其具有一个指定的this值和分别地提供的参数(参数的列表).
- call 的第一个参数是指定调用的这个函数的this ,非严格模式下this的值如果是null或者undefine ,那么这个this指向window
- call 第二个以及之后的参数就是我们的arguments的值
apply
1 | var obj = { |
- call()方法的作用和 apply() 方法类似,只有一个区别,就是 call()方法接受的是若干个参数的列表,而apply()方法接受的是一个包含多个参数的数组, 或伪数组。
bind
1 | var obj = { |
- bind 绑定时接受的参数跟 call 一致.
- bind 不会立即调用,它会生成一个新的函数,你想什么时候调就什么时候调。
- bind 绑定好的this不会改变
- bind 绑定时的给的参数会成为这个绑定函数的固定参数,调用这个函数时这几个参数一定会在