亚洲av无码乱码国产一区二区,午夜理论片yy44880影院,午夜久久久久久禁播电影,熟睡人妻被讨厌的公侵犯

01
2023/04

什么是es6——變量

發(fā)布時(shí)間:2023-04-01 10:41:15
發(fā)布者:神棍子
瀏覽量:
0

在之前的es5中聲明變量只有兩種方式,varfunction分別是聲明普通變量和聲明方法變量,es6中添加了我們常見的letconst命令外,importclass也屬于聲明變量的范疇,所以至此es6中一共有6種聲明變量的方法,下面逐步探討下es6變量在各個(gè)位置的不同點(diǎn)。

Let與var區(qū)別

Let命令與var命令類似,但是let所聲明的變量只在命令所在的代碼塊中有效例如for循環(huán)的計(jì)數(shù)器就適合用let來聲明,首先在for循環(huán)結(jié)束后變量也自動(dòng)回收,且用var的話聲明的計(jì)數(shù)器最終都會(huì)指向最后一個(gè)計(jì)數(shù)器,而let是每一輪變量都是重新生成的,JavaScript引擎內(nèi)部會(huì)記住上一輪循環(huán)的值,初始化本輪的變量時(shí)是在上一輪循環(huán)的基礎(chǔ)上計(jì)算的,所以每次輸出的都是不同的內(nèi)容。在同一作用域中var可以重復(fù)聲明變量而let的話則會(huì)直接拋異常。

0401-1.jpg

變量提升和死區(qū)

Var命令會(huì)發(fā)生變量提升的現(xiàn)象let則不存在,變量提升現(xiàn)象指的是在變量聲明前使用此變量var會(huì)輸出undefined,而let則會(huì)直接拋ReferenceError異常,Es6中規(guī)定了,如果塊中存在letconst,那么這個(gè)塊存根一開始就會(huì)形成封閉作用域,只要在聲明這些變量之前使用了這些變量就會(huì)報(bào)錯(cuò),也稱為變量的暫時(shí)性死區(qū)。

0401-2.jpg


關(guān)鍵詞:
返回列表