tm: 嵌套函数(Nested Function)以及end

嵌套函数是在另一函数内部定义的函数,和普通的函数主要有以下几点差别:

1、函数必须以end结束。只要某个M文件中使用的嵌套函数,则该文件内所有的函数都必须以end结束——无论该函数是否为嵌套函数。

2、调用规则:
嵌套函数按照以下的规则调用:
(1)外层的嵌套函数的直接内层,例如varScope1可以调nestfun1,而nestfun1可以调用nestfun2,但varScope1不能调nestfun2;
(2)有相同父函数的同层嵌套函数(本例不存在);
(3)内层的函数可以调用任何外层的函数,例如,nestfun2可以调用nestfun1和varScope1。
其他函数调用时,只能调最外面一层的函数(varScope1),而不能调用调nestfun1和nestfun2。

3、变量作用域:
通常,函数的工作区只对其自身可见,其他函数不能访问。但对于嵌套函数而言,处于内层的函数可以访问外层函数的工作区(例如,nestfun2可以访问varScope1的局部变量x),反之则不可以。

摘自——http://zhidao.baidu.com/link?url=2J3VD9MrnSQ6Jj19SHKoAkKj4kzqWiWWvFKQrM6vM3ZY6n5L2Ff4VDsQOPPvADmha9l1hc61VNm-cz299LuDlWpD3B8dd3TLhUph4RhMLui

发表评论

电子邮件地址不会被公开。 必填项已用*标注