JavaScript – 嵌套函数
在JavaScript 1.2之前,函数定义只允许在顶级全局代码中,但是JavaScript 1.2允许将函数定义嵌套在其他函数中。但是,函数定义不能出现在循环或条件语句中,这些限制只适用于带有函数语句的函数声明。
正如我们将在下一章节中讨论的那样,函数字面量(JavaScript 1.2引入的另一个功能)可以出现在任何JavaScript表达式中,这意味着它们可以出现在 if 和其他语句中。
示例
尝试下面的示例以了解如何实现嵌套函数。
<html>
<head>
<script type = "text/javascript">
<!--
function hypotenuse(a, b) {
function square(x) { return x*x; }
return Math.sqrt(square(a) + square(b));
}
function secondFunction() {
var result;
result = hypotenuse(1,2);
document.write ( result );
}
//-->
</script>
</head>
<body>
<p>点击下面的按钮来调用函数</p>
<form>
<input type = "button" onclick = "secondFunction()" value = "调用函数">
</form>
<p>在函数内使用不同参数,然后尝试...</p>
</body>
</html>