欢迎来到代码驿站!

JavaScript代码

当前位置:首页 > 网页前端 > JavaScript代码

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

时间:2021-03-26 09:20:40|栏目:JavaScript代码|点击:

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代码

下一篇:onclick和onblur冲突问题的快速解决方法

本文标题:详解JavaScript函数callee、call、apply的区别

本文地址:http://www.codeinn.net/misctech/88055.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有