回炉重造喽
- call 会l立即调用该函数,并允许您一个一个地传递参数。
- Apply立即调用该函数,并允许您将参数作为数组传递。
- Bind返回一个新函数,允许您传入this和任意数量的参数。
Call
1 | var person1 = {firstName: 'Jon', lastName: 'Kuperman'}; |
Apply
1 | var person1 = {firstName: 'Jon', lastName: 'Kuperman'}; |
Bind
1 | var person1 = {firstName: 'Jon', lastName: 'Kuperman'}; |
总而言之:
bind 会有点不同。它会返回一个新函数。 Call and Apply立即执行当前功能。
同时 bind 还可以做许多事情比如:
我们可以使用它来管理上面的示例中的函数。我们可以采用一个简单的hello函数并将其转换为helloJon或helloKelly。我们还可以将其用于诸如onClick之类的事件,这些事件我们不知道何时触发,但我们知道我们希望它们具有什么上下文。
1 |
|