js中的块级作用域
申明:本文是js系列笔记之一,有不正确的地方请尽管指出,大家相互学习,共同进步;
1.提出问题:
在js的if中定义变量,在if块执行完后,该变量会不会被释放?试一下
文章图片
这是在全局作用域中这样做的
接下来在一个方法中的if语句块中定义变量,试试在全局中访问它;
文章图片
function中可以访问到if块中定义的变量
从这两个现象中发现,js语言在if块,for语句等这些块中定义的变量,可以在它的父级作用域中访问,及js语言是没有块级作用域的。
but,如果我们使用let关键字在if语句块中申明变量呢?
文章图片
变量a用完就被释放了
【js中的块级作用域】所以在这里我们看到了,let使js变得有块级作用域了,所以今后编码在块级作用域中,尤其是for语句,就可以使用let定义局部变量了;
推荐阅读
- 热闹中的孤独
- JS中的各种宽高度定义及其应用
- 我眼中的佛系经纪人
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- Android中的AES加密-下
- 放下心中的偶像包袱吧
- C语言字符函数中的isalnum()和iscntrl()你都知道吗
- C语言浮点函数中的modf和fmod详解
- C语言中的时间函数clock()和time()你都了解吗
- 如何在Mac中的文件选择框中打开系统隐藏文件夹