var操作符定义的变量将成为定义该变量的作用域的局部变量,有2个例子:

1:

 

 
  
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
  2. <html xmlns="http://www.w3.org/1999/xhtml"> 
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  5. <title>无标题文档</title> 
  6. </head> 
  7.  
  8. <body> 
  9. <script type="text/javascript"> 
  10.     var b = '111';  
  11.     function a() {  
  12.         return b;  
  13.     }  
  14.       
  15.     alert(a());  
  16.       
  17. </script> 
  18. </body> 
  19. </html> 

b定义于整个<script>标签内所以结果能弹出111

 

 

 

 

2:

 

 
  
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
  2. <html xmlns="http://www.w3.org/1999/xhtml"> 
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  5. <title>无标题文档</title> 
  6. </head> 
  7.  
  8. <body> 
  9. <script type="text/javascript"> 
  10.     //var b = '111';  
  11.     function a() {  
  12.         var b = '111';  
  13.         //return b;  
  14.     }  
  15.       
  16.     //alert(a());  
  17.     a();  
  18.     alert(b);  
  19.       
  20. </script> 
  21. </body> 
  22. </html> 

运行结果为:

ReferenceError: b is not defined
file:///D:/Users/yj/Desktop/CDATA.html
Line 18

 

当省略var操作符时,将创建一个全局变量:

 

 
  
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
  2. <html xmlns="http://www.w3.org/1999/xhtml"> 
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  5. <title>无标题文档</title> 
  6. </head> 
  7.  
  8. <body> 
  9. <script type="text/javascript"> 
  10.     //var b = '111';  
  11.     function a() {  
  12.         b = '111';  
  13.         //return b;  
  14.     }  
  15.       
  16.     //alert(a());  
  17.     a();  
  18.     alert(b);  
  19.       
  20. </script> 
  21. </body> 
  22. </html> 

结果同样能弹出111