摘要:和命令命令所聲明的變量只在命令所在的代碼塊內(nèi)有效。在相同作用域中不允許重復(fù)聲明塊級(jí)作用域?qū)嶋H上為新增了塊級(jí)作用域允許塊級(jí)作用域的任意嵌套。規(guī)定,函數(shù)只能在頂層作用域和函數(shù)作用域中聲明,不能再塊級(jí)作用域中聲明。
let和const命令 let 命令:
所聲明的變量只在let命令所在的代碼塊內(nèi)有效。
for循環(huán)的計(jì)數(shù)器就很適合使用let命令。
不存在變量提升
暫時(shí)性死區(qū):只要塊級(jí)作用域內(nèi)存在let命令,它所聲明的變量就“綁定“在這個(gè)區(qū)域,不在受外部的影響。
在相同作用域中不允許重復(fù)聲明
塊級(jí)作用域let實(shí)際上為javascript新增了塊級(jí)作用域
ES6允許塊級(jí)作用域的任意嵌套。
ES5規(guī)定,函數(shù)只能在頂層作用域和函數(shù)作用域中聲明,不能再塊級(jí)作用域中聲明。
ES6引入了塊級(jí)作用域,明確允許在塊級(jí)作用域之中聲明函數(shù)。在塊級(jí)作用域中,函數(shù)聲明語句的行為類似于let,在塊級(jí)作用域之外不可引用。
do表達(dá)式在塊級(jí)作用域之前加上do,使它變?yōu)閐o表達(dá)式,然后就會(huì)返回內(nèi)部最后執(zhí)行的表達(dá)式的值。
const命令聲明一個(gè)只讀常量,一旦聲明,常量的值就不能改變。
實(shí)際上const保證的并不是變量的值不得改動(dòng),而是變量指向的那個(gè)內(nèi)存地址不得改動(dòng)。
對于簡單類型的數(shù)據(jù),值就保存在變量指向的那個(gè)內(nèi)存地址。
而對于復(fù)合類型的數(shù)據(jù),變量指向的內(nèi)存地址,保存的只是一個(gè)指針,const保證這個(gè)指針固定,而它指向的數(shù)據(jù)結(jié)構(gòu)是不能控制的。
ES6聲明變量的六種方法ES5:var 和 function
ES6:let, const, import, class
頂層對象,在瀏覽器環(huán)境指的是window對象,在node指的是global對象。ES5之中,頂層對象的屬性與全局變量是等價(jià)的。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/92616.html
摘要:外層作用域不報(bào)錯(cuò)正常輸出塊級(jí)作用域與函數(shù)聲明規(guī)定,函數(shù)只能在頂層作用域和函數(shù)作用域之中聲明,不能在塊級(jí)作用域聲明。規(guī)定,塊級(jí)作用域之中,函數(shù)聲明語句的行為類似于,在塊級(jí)作用域之外不可引用。同時(shí),函數(shù)聲明還會(huì)提升到所在的塊級(jí)作用域的頭部。 前言:最近開始看阮一峰老師的《ECMAScript 6 入門》(以下簡稱原...
摘要:聲明的變量存在變量提升,聲明的變量不存在變量提升。聲明的變量允許重新賦值,聲明的變量不允許重新賦值。注意跨腳本聲明重復(fù)變量也會(huì)報(bào)錯(cuò)。中出現(xiàn)的任何元素在聲明中出現(xiàn),語法錯(cuò)誤。中的是如此的怪異。對中的聲明進(jìn)行實(shí)例化。 我在上一篇文章javascript中詞法環(huán)境、領(lǐng)域、執(zhí)行上下文以及作業(yè)詳解中的最后稍微提到了有關(guān)var、let、const聲明的區(qū)別,在本篇中我會(huì)重點(diǎn)來分析它們之間到底有什么...
showImg(https://segmentfault.com/img/remote/1460000017757580); let和const是 ES6 新增的命令,用于聲明變量,這兩個(gè)命令跟 ES5 的var有許多不同,并且let和const也有一些細(xì)微的不同,再認(rèn)真閱讀了阮一峰老師的文檔后,發(fā)現(xiàn)還是有一些不知道的細(xì)節(jié)... 博客、前端積累文檔、公眾號(hào)、GitHub 內(nèi)容: var和let...
摘要:聲明變量不存在變量提升。臨時(shí)死區(qū),而且不能在聲明之前訪問它。禁止重復(fù)聲明相同的變量,否則報(bào)錯(cuò)。不存在變量提升,一旦執(zhí)行快外就會(huì)立即銷毀。聲明不允許修改綁定,但允許修改值,也就是說用創(chuàng)建對象后,可以修改該對象的屬性值。 知識(shí)點(diǎn) var 聲明變量: 1、存在變量提升,實(shí)際上var無論在哪里聲明,都會(huì)被當(dāng)做當(dāng)前的作用域頂部聲明變量。 2、可以重復(fù)聲明,后聲明的變量會(huì)覆蓋前聲明的變量。 let...
摘要:聲明一個(gè)只讀的常量。的作用域與命令相同只在聲明所在的塊級(jí)作用域內(nèi)有效。這在語法上,稱為暫時(shí)性死區(qū),簡稱。暫時(shí)性死區(qū)也意味著不再是一個(gè)百分之百安全的操作。重復(fù)聲明是允許在相同作用域內(nèi)重復(fù)聲明同一個(gè)變量的,而與不允許這一現(xiàn)象。 轉(zhuǎn)載自阮一峰老師的ES6入門,稍有修改 1.基本概念MDN var聲明了一個(gè)變量,并且可以同時(shí)初始化該變量。let語句聲明一個(gè)塊級(jí)作用域的本地變量,并且可選的賦予...
摘要:概述發(fā)布前,只能通過聲明變量的方式,常量塊級(jí)變量函數(shù)變量這些概念的差別都不能很好的體現(xiàn)出來,于此同時(shí),加入你要使用或者提供一個(gè),聲明的變量可隨時(shí)被修改和重新分配的問題,會(huì)讓你時(shí)刻擔(dān)心代碼是否能正常運(yùn)行。 1. var、let、const概述 ES6發(fā)布前,Javascript只能通過var聲明變量的方式,常量、塊級(jí)變量、函數(shù)變量這些概念的差別都不能很好的體現(xiàn)出來,于此同時(shí),加入你要使用...
閱讀 2070·2021-09-22 15:43
閱讀 8736·2021-09-22 15:07
閱讀 1086·2021-09-03 10:28
閱讀 2061·2021-08-19 10:57
閱讀 1071·2020-01-08 12:18
閱讀 2978·2019-08-29 15:09
閱讀 1530·2019-08-29 14:05
閱讀 1645·2019-08-29 13:57