美文网首页
注意JavaScript没有块级作用域

注意JavaScript没有块级作用域

作者: Wonder233 | 来源:发表于2017-11-17 11:37 被阅读0次

例如:

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也依旧会存在于循环外部的执行环境中。

相关文章

  • 作用域

    作用域 javascript没有块级作用域 只有函数可以创建的作用域

  • JavaScript函数作用域和声明提前

    函数作用域 JavaScript 中没有块级作用域,JavaScript 取而代之地使用了函数作用域。变量在声明它...

  • js声明提升

    块级作用域块级作用域是指花括号内的每一段代码都具有各自的作用域,而javascript没有块级作用域。javasc...

  • ES6学习笔记之块级作用域

    ES5 只有全局作用域和函数作用域,没有块级作用域,let实际上为 JavaScript 新增了块级作用域。 例子...

  • 注意JavaScript没有块级作用域

    例如: 这里会在控制台输出“blue”。如果在C、C++或Java中,color会在if语句执行完毕之后被销毁。但...

  • JS执行环境访问

    1、javascript没有块级作用域,无块作用域限制,局部环境销毁 (1)无块作用域限制:在这里alert(nu...

  • javascript学习目录

    【1】ECMAScript数据类型及类型转换 【2】检测类型 【3】注意JavaScript没有块级作用域 【4】...

  • JavaScript作用域链

    大多数语言里面都会使用{}来形成一个作用域,俗称块级作用域。JavaScript中{}没有带来块级作用域,Java...

  • 深入理解js的变量提升和函数提升

    一、变量提升 在ES6之前,JavaScript没有块级作用域(一对花括号{}即为一个块级作用域),只有全局作用域...

  • js的变量提升和函数提升

    一、变量提升 在ES6之前,JavaScript没有块级作用域(一对花括号{}即为一个块级作用域),只有全局作用域...

网友评论

      本文标题:注意JavaScript没有块级作用域

      本文链接:https://www.haomeiwen.com/subject/evadvxtx.html