标签:alert 1.2 有用 方式 undefined 代码 rip 对象 处理
<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>
标签:alert 1.2 有用 方式 undefined 代码 rip 对象 处理
原文地址:http://www.cnblogs.com/luowenjun-kio/p/7899937.html