javascript变量作用域只有两种情况:全局作用域、函数作用域

没有代码块作用域,因而要养成一处声明全部变量的编程习惯(文件头部、函数头部)。

  1. function test(){  
  2.     var abc="123";  
  3.     efg="456";  
  4.     put("in test abc="+abc);  
  5.     put("in test efg="+efg);  
  6. }  
  7.  
  8. function test1(){  
  9.     var abc;  
  10.     put("in test1 abc="+abc);  
  11. }  
  12.  
  13. var abc="abc";  
  14. var efg="efg";  
  15.  
  16. test1();  
  17. put("before test abc="+abc);  
  18. put("before test efg="+efg);  
  19. test();  
  20. test1();  
  21. put("after test abc="+abc);  
  22. put("after test efg="+efg);  
  23.  
  24. {  
  25.     var abc="www";  
  26.     put("in block abc="+abc);  
  27. }  
  28.     put("out block abc="+abc); 

调试信息:
in test1 abc=undefined
before test abc=abc
before test efg=efg
in test abc=123
in test efg=456
in test1 abc=undefined
after test abc=abc
after test efg=456
in block abc=www
out block abc=www