函数中的call( )和apply( )
call( )和apply( )
- 这两个方法都是函数对象的方法,需要通过函数对象来调用
- 当对函数调用call( )和apply( )都会调用函数执行
- 在调用call和apply( )可以讲一个对象指定为第一个参数
function fun(){
alert(this);
}
var obj = {};
fun.apply(obj);
此时这个对象将会成为函数执行时的this
-
call( )方法可以将实参在对象之后依次传递
-
apply( )方法需要将实参封装到一个数组中统一传递
this的情况:
1.以函数形式调用时,this永远都是window
2.以方法的形式调用时,this是调用方法的对象
3.以构造函数的形式调用时,this是新创建的那个对象
4.使用call和apply调用时,this是指定的那个对象
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本