var声明的变量以及声明的函数

<html>

<body>

<script>

//所有用var声明的变量以及声明的函数

/*
var  a = 1;

function f(){    
    alert(a);
    var a  = 5;
}
f();
*/
/*
var  a = 1;

function f(){    
    alert(a);
     a  = 8;
}
f();
*/
//上面的代码的处理过程
//    ******全局处理****
/*
1. 在预处理的阶段:
    1.1 读取分析整个源代码
    1.2 找出所有用var声明的变量以及用
    声明的方式创建的函数
    1.3 把第二步找出来的东东
        添加到一个对象里面去(如果是全局代码,
        这个对象就是window)
    1.4 如果是变量,那么值此时等于undefined
    如果是函数,此时的值就指向函数

    全局代码的执行:(在我们的案例里面)
    1.1 把a的值从undefined改为1
    1.2 调用f函数,以便f函数得到执行。
    
    
    
    
*/

/*  ****函数内部:*****/
var  a = 1;

function f(){    
    alert(a);
    var a = 5;
    alert(a);
}
f();

/*
    预处理阶段
        1.1把函数的参数添加到一个对象(词法对象)
        1.2 把所有用var声明的变量以及声明的形式创建的
        函数添加到词法对象里面。变量的值也是为undefined
    
    执行阶段

*/

</script>
</body>


</html>


posted @ 2017-11-26 19:36  KioWu  阅读(442)  评论(0编辑  收藏  举报