详解JavaScript函数callee、call、apply的区别
作者:五月君 时间:2024-05-11 10:23:21
arguments.callee
关于callee的解释:callee 是 arguments 对象的一个属性。可以用于引用该函数的函数体内当前正在执行的函数。这在函数的名称是未知时很有用,例如在没有名称的函数表达式 (也称为“匿名函数”)内。
递归调用实现一个阶乘函数:
function sum(num){
if(num <= 1){
return 1;
}else{
console.log(num, arguments.callee(num-1));
return num * arguments.callee(num-1);
}
}
console.log(sum(3));
apply使用情况
function box(num1,num2){
return num1+num2;
}
function sum(num1,num2){
//this 表示全局作用域,浏览器环境下window,node环境global,[]表示传递的参数
return box.apply(this,[num1,num2]);
//或者下面写法arguments可以当数组传递
//return box.apply(this,arguments);
}
console.log(sum(10,10)); //输出结果: 20
call的使用示例
function box(num1,num2){
return num1+num2;
}
function sum2(num1,num2){
return box.call(this,num1,num2);
}
console.log(sum(10,10)); //输出结果: 20
总结call、apply两种情况使用的区别: call传递参数是按照数组传递,apply是一个一个传递
以上所述是小编给大家介绍的JavaScript函数callee、call、apply的区别详解整合网站的支持!
来源:https://www.imooc.com/article/280009
标签:Js,callee,call,apply
0
投稿
猜你喜欢
python opencv实现图像矫正功能
2022-05-22 17:00:13
Python Django框架设计模式详解
2021-01-16 12:52:40
JavaScript打开客户端exe文件的代码
2024-04-17 09:49:27
javascript实现锁定网页、密码解锁效果(类似系统屏幕保护效果)
2023-08-18 20:01:36
Pytorch修改ResNet模型全连接层进行直接训练实例
2023-06-07 03:49:28
python对数组进行反转的方法
2023-08-12 13:38:54
python 利用文件锁单例执行脚本的方法
2021-11-08 08:05:38
asp正则表达式在网页处理中的应用四则
2008-02-24 14:44:00
排序与检索
2008-05-18 13:09:00
Python pymongo模块用法示例
2022-05-23 20:00:21
JavaScript监听触摸事件代码实例
2023-08-20 19:12:54
xmlhttp 乱码 比较完整的解决方法 (UTF8,GB2312)
2008-05-02 21:02:00
JS关于刷新页面的相关总结
2024-04-22 12:52:36
python使用itchat模块给心爱的人每天发天气预报
2023-04-12 00:34:26
Python使用POP3和SMTP协议收发邮件的示例代码
2023-10-03 15:37:28
在Mac上删除自己安装的Python方法
2021-03-22 22:10:57
python使用pymongo操作mongo的完整步骤
2023-07-12 20:31:21
JavaScript解析任意形式的json树型结构展示
2024-04-30 10:09:35
python人工智能算法之决策树流程示例详解
2022-02-27 17:34:31
使用Pytorch搭建模型的步骤
2022-03-05 21:28:38