1 var foo = function(){
 2     var a =3,b=5;
 3     var bar = function(){
 4         var b=7,c=11;
 5 
 6         alert("111a="+a+";b="+b+";c="+c); //第二个输出,此时a=3;b=7;c=11
 7         
 8         a += b + c;
 9         alert("222a="+a+';b='+b+";c="+c); //第三个输出,此时a=21;b=7;c=11
10     };
11 
12     alert("333a="+a+';b='+b+";c=");  //第一个输出,此时a=3;b=5;c没有定义
13 
14     bar();
15     alert("444a="+a+';b='+b+";c=");  //第四个输出,此时a=21;b=5;c没有定义
16 };
17 foo();
18 exit();

 

 

注意执行顺序,调用foo()

执行第1,2行--->12行--> 14行--->3.....10行--->15行

第四个输出里 b为什么等于5?

相关文章:

  • 2021-11-04
  • 2021-12-03
  • 2021-07-06
  • 2022-12-23
  • 2021-06-17
  • 2022-12-23
  • 2022-01-31
  • 2021-06-14
猜你喜欢
  • 2021-08-06
  • 2021-12-31
  • 2021-10-30
  • 2022-12-23
  • 2022-12-23
  • 2021-07-12
  • 2021-06-16
相关资源
相似解决方案