详解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));

详解JavaScript函数callee、call、apply的区别

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
  • asp之家 网络编程 m.aspxhome.com