您现在的位置: 网页制作教程网 >> 网页特效 >> Javascript 教程 >> 文章正文
作者:Sheneyan
来源:蓝色理想
热度:
2006-11-15 16:50:53
指针的指向
我们能够在一个函数创建之后重新分配它,但是我们需要指向函数对象本身,而不是指向它的指针。在下例中,我将改变myfunction()的内容。
Example 6:
CODE:
| function myFunction() { alert("Old"); } myFunction(); // 输出 "Old" myFunction=function() { alert("New"); }; myFunction(); // 输出 "New" |
旧函数哪里去了??被抛弃了。
如果我们需要保留它,我们可以在改变它之前给它分配一个指针。

Example 6A:
CODE:
| function myFunction() { alert("Old"); } var savedFuncion=myFunction; myFunction=function() { alert("New"); }; myFunction(); // 输出 "New" savedFuncion(); // 输出 "Old" |

不过要小心,象下面这样的例子并不会有作用,因为是创建了另一个叫做myFunctionPtr的函数而不是修改它。
Example 6B:
CODE:
| function myFunction() { alert("Old"); } var savedFunc=myFunction; savedFunc=function() { alert("New"); }; myFunction(); // 输出 "Old" savedFunc(); // 输出 "New" |
内嵌函数
我们还能够在一个函数中嵌套一个函数。下例,我有一个叫做getHalfOf的函数,而在它里面,我有另一个叫做calculate的函数。
Example 7
CODE:
|
function getHalfOf(num1, num2, num3) var result=""; |
你只能在内部调用嵌套的函数。就是说,你不能这么调用:getHalfOf.calculate(10),因为calculate只有当外部函数(getHalfOf())在运行的时候才会存在。这和我们前面的讨论一致(函数会被编译,但只有当你去调用它的时候才会执行)。
我来说两句:
推荐文章
相关文章