注意JavaScript没有块级作用域

例如:

if(true){
    var color = "blue";
}
console.log(color);

这里会在控制台输出“blue”。
如果在C、C++或Java中,color会在if语句执行完毕之后被销毁。
但是在JavaScript中,这个if语句在全局环境中,那么通过var声明的变量也会加到当前的执行环节(即全局环境)中。
还需要注意的是:

for( var i =0; i <10; i++){
    doSomething(i);
}
alert(i);

这里在for中初始化了变量i,在for循环执行结束后,变量i也依旧会存在于循环外部的执行环境中。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 10,262评论 0 11
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,991评论 18 399
  • 人们觉得我不会沉 就像我身上 不会消失的年轮 当我从溪流走向江河 又从江河奔向大海 我终于没有了动力 我看着平静海...
    三月十九阅读 2,880评论 0 1
  • 我还以为自己近几年都不会再拍人像了,相机都放在家里没有拿来,这次拍摄还是借的。心里一面想拍,一面又不敢再摸相机,矛...
    首席铲屎官_娜娜阅读 7,796评论 25 53
  • 楚楚很美,特别喜欢眨眨她的大眼睛,举手投足,都是那么青春美丽动人。她成了商学院男生追逐爱情的梦想。有的男生情人节送...
    05f3ae22a228阅读 1,345评论 0 1