前言
眾所周知es6是ECMAScript 6.0(以下簡(jiǎn)稱 ES6)是 JavaScript 語言的下一代標(biāo)準(zhǔn),已經(jīng)在2015年6月正式發(fā)布了。它的目標(biāo),是使得 JavaScript 語言可以用來編寫復(fù)雜的大型應(yīng)用程序,成為企業(yè)級(jí)開發(fā)語言。
它完善了ES5的命名規(guī)范,它又重新發(fā)布了兩個(gè)新的命名變量的方式:let和const,但是let聲明的變量只在它所在的代碼塊有效。
本文將給大家介紹關(guān)于ES6變量命名的兩種方法,下面話不多說,來一起看看詳細(xì)的介紹:
let a = 10; var b = 1;}a // ReferenceError: a is not defined.b // 1
1、for循環(huán)的計(jì)數(shù)器,就很適合let,比如我之前遇到一個(gè)問題,就是一個(gè)ul中有很多l(xiāng)i,要想點(diǎn)擊每個(gè)li時(shí)都獲取到哪個(gè)li的下標(biāo)
for (let i = 0,len=obj.length; i < len; i++) { obj[i].addEventListener("click",function (){ console.log(i) },false); }var 在for循環(huán)中循環(huán)一個(gè)對(duì)象后得到最后那個(gè)對(duì)象的長(zhǎng)度,而let很好的解決了那個(gè)問題,并且訪問每個(gè)li的索引。
2、不存在變量提升
var命令會(huì)發(fā)生”變量提升“現(xiàn)象,即變量可以在聲明之前使用,值為undefined。這種現(xiàn)象多多少少是有些奇怪的,按照一般的邏輯,變量應(yīng)該在聲明語句之后才可以使用。
為了糾正這種現(xiàn)象,let命令改變了語法行為,它所聲明的變量一定要在聲明后使用,否則報(bào)錯(cuò)。
// var 的情況console.log(foo); // 輸出undefinedvar foo = 2;// let 的情況console.log(bar); // 報(bào)錯(cuò)ReferenceErrorlet bar = 2;
const聲明一個(gè)只讀的常量。一旦聲明,常量的值就不能改變。
const PI = 3.1415;PI // 3.1415PI = 3;// TypeError: Assignment to constant variable.
const聲明的變量不得改變值,這意味著,const一旦聲明變量,就必須立即初始化,不能留到以后賦值。
對(duì)于const來說,只聲明不賦值,就會(huì)報(bào)錯(cuò)。
const的作用域與let命令相同:只在聲明所在的塊級(jí)作用域內(nèi)有效。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)錯(cuò)新站長(zhǎng)站的支持。
新聞熱點(diǎn)
疑難解答
圖片精選