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