call(),apply(),bind()
JavaScript中对于call(),apply(),bind()的理解
1、call
、apply
、bind
三者都是用来重定义this
这个对象的,其中bind
返回的是一个新的函数,所以必须要调用才会执行。
2、call
、apply
、bind
三者的传参情况
三个函数的第一个参数都是this
指向的对象,第二个参数以后则有不同,分别如下:
call
的参数是直接放进去的,一次往后使用逗号隔开直接放到后面,例如obj.myproject.call(obj1,'a','b','c','d')
apply
的所有参数需要放在一个数组里面,例如``obj.myproject.apply(obj1,['a','b','c','d'])`
bind
的参数和call
一样,只是返回值不一样。
注意:传入参数可以是各种数据类型。
通俗理解就是为了改变this
指向
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律