<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>