知识点:
//递归函数,函数自己调用自己;//递归调用如果没有停止条件就会变成死循环;
嵌套函数:函数当中包含函数,从一个函数中调用另一个函数
<script type="text/javascript">
function a (){
function b (){
}
}
</script>
如果有局部变量,坚决不找全局变量
没有局部变量去全局找,
两者都没有 undefined
示例:
<script type="text/javascript">
function a (){
function b (){
document.writeln("6666")
}
document.writeln("8888")
b();b必须在a里面调用,否则调用不成功
}
a();
</script>
<script type="text/javascript">
var i = 1;
function a (){
document.writeln(i);
var i = 2;//var 声明也可以提升
}
a();==undefined
</script>
<script type="text/javascript">
var i = 1;
// function a (){
// document.writeln(i);
// var i = 2;//var 声明也可以提升
// }
//
function a (){
var i ;
document.writeln(i);
i=2;
}
a();
两个函数写法不同,样式一样
</script>
<script type="text/javascript">
var i =1 ;
function a(){
alert(i);//
return 66;
var i = 2;
alert(i);//执行不了
}
//转化为:
function a(){
var i ;
alert(i);//undefind
return 66;
//没有执行的机会
i = 2;
alert(i);
}
</script>
<script type="text/javascript">
var i = 1;
function a(){
function b(){
alert(999);
}
return 66;//函数遇见return绝不执行
b();
}
a();
</script>

return b;不可写成return b ();==这样写返回undefined;》undefined();导致函数无法执行
<script type="text/javascript">
var i = 1;
function a(){
function b(){
document.writeln(66);
}
return b();
}
a()();//错误!!!!!!
document.writeln(99);//执行不了
</script>
<script type="text/javascript">
var i = 1;
function a(){
function b(){
function c(){
document.writeln("3333")
}
c();
document.writeln("2222")
}
b();
document.writeln("1111")
}
a();
</script>==3333 2222 1111
<script type="text/javascript">
var i = 1;
function a(){
function b(){
function c(){
document.writeln("3333")
}
document.writeln("2222")
c();
}
document.writeln("1111")===1111 2222 3333
b();
}
a();
</script>
<script type="text/javascript">
//递归函数,函数自己调用自己;
//递归调用如果没有停止条件就会变成死循环;
function a (){
document.writeln("1")
a();
}
a();//死循环自己无限制调用自己
</script>
<script type="text/javascript">
//递归函数,函数自己调用自己;
//递归调用如果没有停止条件就会变成死循环;
var flag = 1;
function a (){
flag ++;
document.writeln(flag)
if(flag<3){
a();
}
}
a();//有条件达到条件循环结束,输出2 3
浙公网安备 33010602011771号