在JavaScript1.2之前,函數(shù)定義是只允許在頂層全局代碼,但1.2的JavaScript可以嵌套函數(shù)定義其他函數(shù)中也是可以的。
仍然存在的函數(shù)定義可以循環(huán)或條件之內(nèi)不會(huì)出現(xiàn)限制。在函數(shù)定義這些限制只適用于函數(shù)聲明與函數(shù)語句。
函數(shù)文本(在JavaScript1.2引入的另一個(gè)功能)可能出現(xiàn)在任何JavaScript表達(dá)式,這意味著它們可以出現(xiàn)在if else語句內(nèi)。
示例:
下面就是我們兩個(gè)嵌套函數(shù)的例子。這可能會(huì)有點(diǎn)混亂,但它的工作原理完全正常:
<script type="text/javascript"><!--function hypotenuse(a, b) { function square(x) { return x*x; } return Math.sqrt(square(a) + square(b));}//--></script>注:在這里,我們使用的是從數(shù)學(xué)類函數(shù)sqrt。
現(xiàn)在,可以調(diào)用通常的方式調(diào)用這一函數(shù)如下:
<script type="text/javascript"><!--hypotenuse(1, 2); // This will produce 2.2360//--></script>
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注