1、三者都可以改变函数的this对象指向;
2、三者第一个参数都是this要指向的对象,如果没有这个参数或参数为undefined或null,则默认指向全局window;
3、三者都可以传参,但是apply是数组,call是参数列表,apply和call是一次性传入参数,bind可以分为多次传入;
4、bind是返回绑定this后的函数,便于稍后调用,apply\call是立即执行;
5、bind()会返回一个新的函数,如果这个返回的新函数作为构造函数创建一个新的对象,那么此时this不再指向传入给bind的第一个参数,而是指向用new创建的实例
apply、call、bind的区别
最新推荐文章于 2024-01-29 23:31:42 发布
本文探讨JavaScript中的apply、call和bind方法,它们都能改变函数的this上下文,但有各自的特点:apply使用数组传参,call通过参数列表,bind返回新函数并允许延迟执行。此外,bind在作为构造函数时,this将指向新创建的实例。
摘要由CSDN通过智能技术生成