因为感觉在代码里写的好看点所以全在代码里写了,也方便~`,直接从编辑器里 copy 过来就行了
<html>
<head><title></title>
<script type = "text/javascript" language = "javascript">
// 首先是如何来理解这里的高阶函数。你应该知道某个数的 4 次方吧,当然你也会知道
// 其实就是该数的平方的平方,暂且这样牵强的理解吧。
// 高阶函数可以说是函数的函数,我们平常写的函数我把它理解为一阶,如果多一对
// 圆括号就加一阶,一直如此以至无穷,当然括号不是随便能加的,得是有效的才行
// 下面是一个 高阶函数的例子,支持一到四阶,不怕麻烦你可以一直写下去~`
// 提供能查看过程和不查看过程的两种形式
var depth = 0; // 表示进入函数的深度
var detail = false; // 确定是否查看进入高阶函数的每一步
var depth1 = function depth1()
{
depth++;
alert("进入 " + depth + " 阶函数内部了");
detail = false;
}
var depth2 = function depth2()
{
depth++;
if(detail) alert("进入 " + depth + " 阶函数内部了");
return depth1;
}
var depth3 = function depth3()
{
depth++;
if(detail) alert("进入 " + depth + " 阶函数内部了");
return depth2;
}
function depth4()
{
depth++;
if(detail) alert("进入 " + depth + " 阶函数内部了");
return depth3;
}
</script>
</head>
<body>
<p onclick = "depth = 0; depth4()()()();">一次性到高阶函数(4 阶)的最深处</p>
<br />
<p onclick = "depth = 0; detail = true; depth4()()()();">查看进入高阶函数(4 阶)的每一步</p>
<br />
<p onclick = "depth = 0; depth2()();">一次性到高阶函数(2 阶)的最深处</p>
<br />
</html>
不过代码确实不怎么优雅```