指針的指向
我們能夠在一個函數(shù)創(chuàng)建之后重新分配它,但是我們需要指向函數(shù)對象本身,而不是指向它的指針。在下例中,我將改變myfunction()的內(nèi)容。
Example 6:
CODE: function myFunction() { alert("Old"); } myFunction(); // 輸出 "Old" myFunction=function() { alert("New"); }; myFunction(); // 輸出 "New"
舊函數(shù)哪里去了??被拋棄了。
如果我們需要保留它,我們可以在改變它之前給它分配一個指針。
Example 6A:
CODE: function myFunction() { alert("Old"); } var savedFuncion=myFunction; myFunction=function() { alert("New"); }; myFunction(); // 輸出 "New" savedFuncion(); // 輸出 "Old"
不過要小心,象下面這樣的例子并不會有作用,因?yàn)槭莿?chuàng)建了另一個叫做myFunctionPtr的函數(shù)而不是修改它。
Example 6B:
CODE: function myFunction() { alert("Old"); } var savedFunc=myFunction; savedFunc=function() { alert("New"); }; myFunction(); // 輸出 "Old" savedFunc(); // 輸出 "New"
內(nèi)嵌函數(shù)
我們還能夠在一個函數(shù)中嵌套一個函數(shù)。下例,我有一個叫做getHalfOf的函數(shù),而在它里面,我有另一個叫做calculate的函數(shù)。
Example 7
CODE:
function getHalfOf(num1, num2, num3) { function calculate(number) { return number/2; }
var result=""; result+=calculate(num1)+" "; result+=calculate(num2)+" "; result+=calculate(num3); } var resultString=getHalfOf(10,20,30); alert(resultString); // 輸出 "5 10 15"
你只能在內(nèi)部調(diào)用嵌套的函數(shù)。就是說,你不能這么調(diào)用:getHalfOf.calculate(10),因?yàn)閏alculate只有當(dāng)外部函數(shù)(getHalfOf())在運(yùn)行的時候才會存在。這和我們前面的討論一致(函數(shù)會被編譯,但只有當(dāng)你去調(diào)用它的時候才會執(zhí)行)。
出處:藍(lán)色理想
責(zé)任編輯:moby
上一頁 javascript的函數(shù) [3] 下一頁 javascript的函數(shù) [5]
◎進(jìn)入論壇網(wǎng)頁制作、網(wǎng)站綜合版塊參加討論
|