js中的块级作用域

作者: Beauty_Beast | 来源:发表于2018-06-20 21:44 被阅读34次

申明:本文是js系列笔记之一,有不正确的地方请尽管指出,大家相互学习,共同进步;

1.提出问题:

在js的if中定义变量,在if块执行完后,该变量会不会被释放?试一下

这是在全局作用域中这样做的

接下来在一个方法中的if语句块中定义变量,试试在全局中访问它;

function中可以访问到if块中定义的变量

从这两个现象中发现,js语言在if块,for语句等这些块中定义的变量,可以在它的父级作用域中访问,及js语言是没有块级作用域的。

but,如果我们使用let关键字在if语句块中申明变量呢?

变量a用完就被释放了

所以在这里我们看到了,let使js变得有块级作用域了,所以今后编码在块级作用域中,尤其是for语句,就可以使用let定义局部变量了;

相关文章

  • let 和 const

    一、JS中的块级作用域 ES6之前JS不支持块级作用域在ES6之前,JS是没有块级作用域这个概念的,只有全局作用域...

  • js高级程序设计笔记5

    js中没有块级作用域

  • ES6基础

    块级作用域、字符串、函数 作用域在之前的js中,只有函数作用域和全局作用域,指的是变量只能在函数中或者全局中,块级...

  • sample

    一、var与let JS中的块级作用域,var、let、const三者的区别 var是函数级作用域,没有块级作用域...

  • js 作用域

    js 作用域主要有:全局作用域和局部作用域,es5之前没有块级作用域,es6有了块级作用域 何为块级作用域,块级作...

  • js基础

    1.js作用域 js中的变量若在当前作用域中没有,会向父级寻找,直到最顶层。 2.块级作用域 js ES5没有块级...

  • 变量作用域

    变量作用域:静态作用域、动态作用域JS变量作用域:JS使用静态作用域JS没有块级作用域(全局作用域、函数作用域等)...

  • 干货!月薪80k前端大佬面试笔记:JS闭包解析!

    三点注意事项 JS没有块级作用域,只有全局作用域和局部作用域(函数作用域)。 JS中的作用域链,内部的作用域可以访...

  • 第七章 块级作用域、私有变量

    模仿块级作用域 私有变量  js没有块级作用域,只有全局作用域和局部作用域(函数作用域),块级作用域是指某一部分代...

  • js 变量提升和函数提升

    在js中只有两种作用域,全局作用域和函数作用域,在ES6之前,js是没有块级作用域。 JavaScript 代码的...

网友评论

    本文标题:js中的块级作用域

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