变量的作用域分为两种:全局变量和局部变量。
全局作用域:
最外层函数定义的变量拥有全局作用域,即对任何内部函数来说,都是可以访问的
例如:
<script> var outerVar = "outer"; function fn(){ console.log(outerVar); } fn();//result:outer </script>
局部作用域:
和全局作用域相反,局部作用域一般只在固定的代码片段内可访问到,而对于函数外部是无法访问的,最常见的例如函数内部
例如:
<script> function fn(){ var innerVar = "inner"; } fn(); console.log(innerVar);// ReferenceError: innerVar is not defined </script>
但是需要注意的是,函数内部声明变量的时候,一定要使用var命令。如果不用的话,你实际上声明了一个全局变量!
例如:
<script> function fn(){ innerVar = "inner"; } fn(); console.log(innerVar);// result:inner </script>