根据作用域的不同分为: 1.全局变量 2.局部变量
<script> var a=100;//全局 function show(a){ console.log(a); } show(10) console.log(a);//此时的a输出的是100,原因是这个a是全局变量 </script> <script> var a=100; function show(a){ a=80; } show(10); console.log(a);//此时的a输出会报错,访问不到函数里面的a,因为函数在调用的那一刻函数就被回收了 </script> <script> if(true){ var a=10; console.log(a);//此时的a输出10; console.log(b);//undefined }else{ var b=20; } console.log(a);//输出结果为10 console.log(b);//underfined //现在是a,b都是全部变量,因为在ES5中没有块级作用域; </script>建议:优先使用局部变量,因为全局变量生命周期更长(和页面的生命周期一样),占用内存时间较长,局部变量使用完毕就可以等待回收,更加合理。
