JavaScript中的函数嵌套使用
在JavaScript1.2之前,函数定义是只允许在顶层全局代码,但1.2的JavaScript可以嵌套函数定义其他函数中也是可以的。
仍然存在的函数定义可以循环或条件之内不会出现限制。在函数定义这些限制只适用于函数声明与函数语句。
函数文本(在JavaScript1.2引入的另一个功能)可能出现在任何JavaScript表达式,这意味着它们可以出现在ifelse语句内。
示例:
下面就是我们两个嵌套函数的例子。这可能会有点混乱,但它的工作原理完全正常:
<scripttype="text/javascript"> <!-- functionhypotenuse(a,b){ functionsquare(x){returnx*x;} returnMath.sqrt(square(a)+square(b)); } //--> </script>
注:在这里,我们使用的是从数学类函数sqrt。
现在,可以调用通常的方式调用这一函数如下:
<scripttype="text/javascript"> <!-- hypotenuse(1,2);//Thiswillproduce2.2360 //--> </script>