为什么要嵌套?
如何嵌套?
举个例子
<script>
function myWrite(str){
document.write(str)
}
function myFun(){
// define outer function myFun;
function mySum(x,y){
//define inner function mySum;
var z=x+y;
return z;
}
//inner function over
var b= mySum(1,6);
myWrite(b);
}
myFun(); // 7
</script>
如上就是一个简单的嵌套函数,myFun是外层函数,mySum是内层函数。需要注意的是内层函数mysum只能在myFun的控制域内被调用。在myfun的控制域之外是没法被调用的。
内层函数可以访问外层函数的变量
再看一个例子,这个例子表明内层函数是可以访问外层函数的变量的。比如这个内层函数bar就可以访问外层函数foo的变量x。
<script>
function foo(x){
var tmp=3;
function bar(y)
{
alert(x+y+tmp);
}
//define inner function over
bar(10)
}
foo(2)//15
</script>