申明:本文是js系列笔记之一,有不正确的地方请尽管指出,大家相互学习,共同进步;
1.提出问题:
在js的if中定义变量,在if块执行完后,该变量会不会被释放?试一下
这是在全局作用域中这样做的接下来在一个方法中的if语句块中定义变量,试试在全局中访问它;
function中可以访问到if块中定义的变量从这两个现象中发现,js语言在if块,for语句等这些块中定义的变量,可以在它的父级作用域中访问,及js语言是没有块级作用域的。
but,如果我们使用let关键字在if语句块中申明变量呢?
变量a用完就被释放了所以在这里我们看到了,let使js变得有块级作用域了,所以今后编码在块级作用域中,尤其是for语句,就可以使用let定义局部变量了;