8.2.3 函数的嵌套调用 - 编程吧

上一篇 | 下一篇

8.2.3 函数的嵌套调用

发布: 2007-7-20 13:51 | 作者: 佚名 | 来源: 转载 | 查看: 24次


 

8.2.3  函数的嵌套调用

图8.1  函数的嵌套调用
 
WMLScript的函数定义都是互相平行、独立的,定义函数的时候我们不能在一个函数内定义另外一个函数,也就是说,函数定义是不能嵌套的。但是,函数调用却是可以嵌套的,也就是说,我们可以在调用一个函数的过程中调用另外一个函数。

如图8.1所示,就是我们给出的3层函数嵌套调用执行过程的示意图。它的执行过程是:

(1) 执行a函数开头部分;

(2) 遇到调用b函数的操作语句,流程则转去执行b函数;

(3) 执行b函数的开头部分;

(4) 遇到调用c函数的操作语句,流程则转去执行c函数;

(5) 执行c函数,如果没有其他嵌套的函数,则完成c函数的全部操作;

(6) 返回调用c函数的语句,即返回到b函数;

(7) 继续执行b函数中尚未执行的操作,直到b函数结束;

(8) 返回a函数中调用b函数的语句;

(9) 继续执行a函数的剩余操作,直到函数结束。

我们下面给出一个内部函数嵌套调用的例子,其执行过程类似于图8.1所示的过程:

 

function myFunC (param1) {

         return param1*paraml- Float.sqrt(Lang.abs(param)+1);

};

 

function myFunB (param0) {

         return myFunC (param0+1)*param0 +12 ;

};

 

function myFunA (param) {

         return myFunB (param*param+1);

};

 

字号: | 推荐给好友

 

评分:0

我来说两句

seccode