javascript变量作用域

变量分为本地变量和全局变量两种

我们看下面这个例子:

 1 var myVariable = 'global';
 2 myOtherVariable = 'global';
 3 
 4 function myFunction(){    
 5     var myVariable = 'local';    
 6     return myVariable;
 7 }
 8 
 9 function myOtherFunction(){    
10     myOtherVariable = 'local';    
11     return myOtherVariable;
12 }
13 
14 
15 console.log(myVariable); //{1}    global
16 console.log(myFunction()); //{2}   local
17 
18 console.log(myOtherVariable); //{3}   global
19 console.log(myOtherFunction()); //{4}   local
20 console.log(myOtherVariable); //{5}  local

行1输出global,因为他是一个全局变量;

行2输出local,因为myVariable在myFunction函数中声明的本地变量,所以作用域仅在myFunction中;

行3输出global,因为我们在第二行初始化了的全局变量myOtherVariable;

行4输出local,myOtherFunction函数中,没有关键词var的修饰,所以这里引用全局变量myOtherVariable并将其复制loacl;

在行输出local,这是因为在行4中已经修改了myOtherVariable的值;

原文地址:https://www.cnblogs.com/marksir/p/9835029.html