申明:本文是js系列筆記之一吗蚌,有不正確的地方請盡管指出布朦,大家相互學(xué)習(xí)囤萤,共同進(jìn)步;
1.提出問題:
在js的if中定義變量是趴,在if塊執(zhí)行完后涛舍,該變量會不會被釋放?試一下
這是在全局作用域中這樣做的
接下來在一個方法中的if語句塊中定義變量唆途,試試在全局中訪問它富雅;
function中可以訪問到if塊中定義的變量
從這兩個現(xiàn)象中發(fā)現(xiàn)掸驱,js語言在if塊,for語句等這些塊中定義的變量没佑,可以在它的父級作用域中訪問毕贼,及js語言是沒有塊級作用域的。
but蛤奢,如果我們使用let關(guān)鍵字在if語句塊中申明變量呢鬼癣?
變量a用完就被釋放了
所以在這里我們看到了,let使js變得有塊級作用域了啤贩,所以今后編碼在塊級作用域中待秃,尤其是for語句,就可以使用let定義局部變量了痹屹;