call vs apply vs bind
共同点: 都是在调用时,动态指定函数中的this
不同点:
简单说:
1. call , apply 借用,临时绑定
2. bind 永久绑定!
返回值:
1. call , apply 不创建新函数,仅*调用*原函数
2. bind 基于原函数,*创建*新函数对象
之后调用的其实是新函数对象
参数:
1. call , apply 在调用时传入所有参数
call,要求独立传入每个参数
apply, 要求将参数放入数组,统一传入
2. bind 可在创建函数提前绑定部分参数
共同点: 都是在调用时,动态指定函数中的this
不同点:
简单说:
1. call , apply 借用,临时绑定
2. bind 永久绑定!
返回值:
1. call , apply 不创建新函数,仅*调用*原函数
2. bind 基于原函数,*创建*新函数对象
之后调用的其实是新函数对象
参数:
1. call , apply 在调用时传入所有参数
call,要求独立传入每个参数
apply, 要求将参数放入数组,统一传入
2. bind 可在创建函数提前绑定部分参数
调用函数对象时,再传入后续参数