js的作用域

js不同于c、c++、java等语言的块级作用域(以大括号为界{}的作用域),是以函数作为作用域的。
下面一个例子:
java:
int i =100;
for(int i = 0;i<10;i++){}
System.out.printf(i);//输出i=100

在js中:
var i =100;
for(var i =0;i<10;i++){}
console.log(i);//在控制台输出i=10
这里首先要说明的是for循环不是一个函数,这不论在java还是js中都是成立的。
再者在java中是以{}为界划分作用域的,所以在for循环中的i是局部变量。
而在js中,for循环不是函数,所以它内部声明的变量是全局变量,在for循环之前定义并赋值了i。在for循环中重新声明了i,按照js变量声明的方式,当再次声明一个变量时,原变量的类型被屏蔽,以现在声明的为准,如果重新声明没有值,就把原来的值存入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值