callee属性

<!DOCTYPE html>
<html lang="en">
<head>
<Meta charset="UTF-8">
<Meta name="viewport" content="width=device-width,initial-scale=1.0">
<Meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>callee属性</title>
</head>
<body>
 

<script>
//阶乘函数。 3的阶乘 1*2*3
function factorial (num) {
if (num <= 1) {
return 1;
} else {
return num * factorial(num-1); //如果函数修改了,那么此处也要修改
}
}
console.log(factorial(5));
//可以利用,函数里面的arguments的callee属性,减少与函数名的耦合。
function somename (num) {
if (num <= 1) {
return 1;
} else {
return num * arguments.callee(num-1); //函数名随便改
}
}
console.log(somename(5));
 

</script>
</body>
</html>

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些