JS循环

JS作用域与变量提升

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

 

转载于:https://www.cnblogs.com/kuangxy/p/7896651.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值