作用域 [记录]

先 定义  后 执行
定义  先查 var  fn
fn a 优先于  var a

 

 

变量解析过程:

  查找局部的作用域   -- >  查找上层作用域    

var i=10;   
function a() {   
    alert(i);   
    var i = 2;   
};   
a();                     undefined

函数内定义了变量i(无论是在alert之后还是之前定义变量,都认为在此作用域拥有变量i),于是不再向上层的作用域进行查找,直接输出i。

 var a,b;  
(function(){  
        alert(a); undefined
        alert(b); undefined  
        var a = b = 3;      等价于 var a = 3;  b = 3;
        alert(a); 3
        alert(b); 3  
 })();  
alert(a); undefined
alert(b);  3

 

posted @ 2018-03-26 16:14  丶七月小先生丶  阅读(156)  评论(0编辑  收藏  举报