摘要:常量與字面量的區(qū)別常量與字面量均不會(huì)被改變。常量為存儲(chǔ)數(shù)據(jù)的容器,而字面量為等號(hào)右側(cè)的值,字面量是由字符串,數(shù)字等構(gòu)成的字符串或數(shù)值。在中,標(biāo)識(shí)符用于命名變量以及關(guān)鍵詞函數(shù)和標(biāo)簽。
之前竟然對(duì)常量、字面量都沒(méi)有搞清楚,要學(xué)習(xí)的真的是好的 剛才終于搞清楚了 是該好好在學(xué)一遍js的
字面量:在編程語(yǔ)言中,一般固定值稱(chēng)為字面量,如 3.14。不是一種值,而是一種變量記法 等號(hào)右側(cè)的值均為字面量 var a = 1 .數(shù)字(Number)字面量 可以是整數(shù)或者是小數(shù),或者是科學(xué)計(jì)數(shù)(e)。 3.14 1001 .字符串(String)字面量 可以使用單引號(hào)或雙引號(hào): "John Doe" "John Doe" .對(duì)象(Object)字面量 定義一個(gè)對(duì)象: {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"} 還有函數(shù)字面量、數(shù)組字面量等常量:與變量一樣均是用于 ‘存儲(chǔ)數(shù)據(jù)’ 的容器,只不過(guò)常量的值在程序的運(yùn)行中不可以發(fā)生改變
在ES6之前并沒(méi)有聲明常量的方法,在ES6中新增加了const來(lái)定義常量 建議常量的命名全部大寫(xiě),如果由多個(gè)單詞構(gòu)成,可以用下劃線分割 const MY_SITE="http://www.zhangpeiyue.com";//MY_SITE為常量,"http://www.zhangpeiyue.com"為字面量 只能在初始化的時(shí)候被賦值,賦值以后不允許被再次賦值變量:也是用于存儲(chǔ)數(shù)據(jù)的容器,在程序的運(yùn)行中可以發(fā)生改變或者被再次賦值
可以使用var關(guān)鍵字來(lái)聲明變量,變量的值可以是任意類(lèi)型。為了更好的閱讀,建議變量使用駝峰命名法命名: var myName="js";//myName為變量,“zhangpeiyue"為字面量 在ES6中新增了let關(guān)鍵字聲明變量,作用與var類(lèi)似,只是聲明的變量只在其所在區(qū)域內(nèi)有效: let str="es6";//str為變量,"es6"為字面量 說(shuō)明:var,let和不用任何修飾的變量的區(qū)別 num = 1 代表window的一個(gè)屬性,不能使用delete刪除 var num = 1;代表全家變量,可以使用delete刪除 let num = 1;代表局部變量常量,變量,字面量的區(qū)別
常量與變量的區(qū)別:常量與變量的存儲(chǔ)方式是一樣的,只不過(guò)常量必須要有初始值, 而且值不允許被修改,而變量可以無(wú)初始值,且可以多次賦值。 常量與字面量的區(qū)別:常量與字面量均不會(huì)被改變。常量為存儲(chǔ)數(shù)據(jù)的容器, 而字面量為等號(hào)右側(cè)的值,字面量是由字符串,數(shù)字等構(gòu)成的字符串或數(shù)值。再說(shuō)一下標(biāo)識(shí)符:標(biāo)識(shí)符是名稱(chēng)。 在 JavaScript 中,標(biāo)識(shí)符用于命名變量(以及關(guān)鍵詞、函數(shù)和標(biāo)簽)。
標(biāo)識(shí)符須除了關(guān)鍵字、保留字之外才行let 是聲明變量
它不同于var,不存在變量提升 在聲明變量之前該變量是不可用的,否則會(huì)報(bào)錯(cuò),這在語(yǔ)法上叫“暫時(shí)性死區(qū)”;
let 不允許同一作用域內(nèi)重復(fù)聲明
在某些場(chǎng)合下var聲明變量是不合理的
`場(chǎng)景1: 內(nèi)層變量覆蓋了外層變量 var tmp = new Date(); function f () { console.log(tmp) if (false) { var tmp = "hello world!" } } f () // undefined 場(chǎng)景2:用來(lái)計(jì)數(shù)的循環(huán)變量泄露為全局變量 var a = "hello" for (var i = 0; i
關(guān)于塊級(jí)作用域,可能有的小白不知道,其實(shí)它就是 {} {{}}這就是兩個(gè)塊級(jí)作用域了
let就是給js新增塊級(jí)作用域的那個(gè)法器一些說(shuō)明 . 外層作用域無(wú)法讀取內(nèi)層作用域的變量 . 塊級(jí)作用域與函數(shù)聲明有點(diǎn)復(fù)雜 就不多說(shuō)了 但ES6支持(允許)在塊級(jí)作用域內(nèi)聲明函數(shù)const是聲明常量
它聲明一個(gè)只讀常量,且一旦聲明,就不能改變
eg:const PI = 3.1415PI // 3.1415 PI = 3 // 報(bào)錯(cuò)聲明必須賦值,否則報(bào)錯(cuò)
eg: const FOO // 報(bào)錯(cuò)不會(huì)提升,必須先聲明再使用,否則報(bào)錯(cuò)
和let一樣,不能重復(fù)聲明,否則報(bào)錯(cuò)
const 本質(zhì) :const 實(shí)際上保證的并不是變量的值不能改動(dòng),而是變量指向的那個(gè)內(nèi)存地址不得改動(dòng)。
但這對(duì)于簡(jiǎn)單的數(shù)據(jù)類(lèi)型來(lái)說(shuō)(數(shù)值、字符串、布爾值等),值就是保存在變量指向的內(nèi)存地址中,因此等同于常量(所以,說(shuō)const是聲明常量好像不太準(zhǔn)確了)
但對(duì)于復(fù)合類(lèi)型的數(shù)據(jù)(主要是數(shù)組和對(duì)象吶),變量指向的內(nèi)存地址保存的只是一個(gè)指針,const只能保證這個(gè)指針是固定的,至于它指向的數(shù)據(jù)結(jié)構(gòu)是不是可變的,這完全不能由它控制。因此,將一個(gè)對(duì)象(或數(shù)組)聲明為常量時(shí)一定要考慮好哦
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/105818.html
摘要:語(yǔ)法和數(shù)據(jù)類(lèi)型正文開(kāi)始本章節(jié)復(fù)習(xí)的是中的基本語(yǔ)法,變量聲明,數(shù)據(jù)類(lèi)型和字面量。聲明一個(gè)塊作用域的局部變量,可賦一個(gè)初始值。變量聲明有三種方式如,聲明局部變量和全局變量。 最近開(kāi)始把精力放在重新復(fù)習(xí)JavaScript的基礎(chǔ)知識(shí)上面,不再太追求各種花枝招展的前端框架,框架再多,適合實(shí)際項(xiàng)目才是最重要。 上星期在掘金發(fā)布了幾篇文章,其中最大塊算是 【復(fù)習(xí)資料】ES6/ES7/ES8/ES...
摘要:是國(guó)際組織于年月日發(fā)布的第六版,正式名為通常被成為或。二模版字面量提供一種簡(jiǎn)單實(shí)現(xiàn)表達(dá)式嵌套的字符串字面量操作,簡(jiǎn)而言之就是能夠以簡(jiǎn)單的方法實(shí)現(xiàn)字符串拼接操作。 本文同步 帶你入門(mén) JavaScript ES6 (一),轉(zhuǎn)載請(qǐng)注明出處。 ES6: 是 ECMA國(guó)際組織于 2015 年 6 月 17 日發(fā)布的 ECMAScript 第六版,正式名為 ECMAScript 2015,通常被...
摘要:復(fù)習(xí)基礎(chǔ)到底是什么的應(yīng)用場(chǎng)合極其廣泛。常量不可以通過(guò)重新賦值改變其值,也不可以在代碼運(yùn)行時(shí)重新聲明。布爾對(duì)象是原始布爾數(shù)據(jù)類(lèi)型的一個(gè)包裝器整數(shù)整數(shù)可以用十進(jìn)制基數(shù)為十六進(jìn)制基數(shù)為八進(jìn)制基數(shù)為以及二進(jìn)制基數(shù)為表示。 復(fù)習(xí)js day1 js基礎(chǔ) JavaScript 到底是什么 JavaScript 的應(yīng)用場(chǎng)合極其廣泛。簡(jiǎn)單到幻燈片、照片庫(kù)、浮動(dòng)布局和響應(yīng)按鈕點(diǎn)擊。復(fù)雜到游戲、2D 和 ...
摘要:將對(duì)象的屬性拷貝到了對(duì)象,合并成一個(gè)新的對(duì)象。而這種行為也是新增的標(biāo)準(zhǔn)。總結(jié)本章講解了對(duì)象字面量語(yǔ)法拓展,新增方法,允許重復(fù)的對(duì)象字面量屬性,自有枚舉屬性排序,增強(qiáng)對(duì)象原型,明確了方法的定義。但是,就算把全部新增的功能記住也不是難事。 變量功能被加強(qiáng)了、函數(shù)功能被加強(qiáng)了,那么作為JavaScript中最普遍的對(duì)象,不加強(qiáng)對(duì)得起觀眾嗎? 對(duì)象類(lèi)別 在ES6中,對(duì)象分為下面幾種叫法。(不需...
閱讀 893·2021-11-22 15:25
閱讀 1530·2021-09-08 09:45
閱讀 1842·2021-09-02 09:46
閱讀 1430·2019-08-30 15:56
閱讀 1594·2019-08-29 15:14
閱讀 1227·2019-08-29 13:06
閱讀 2070·2019-08-29 12:34
閱讀 1469·2019-08-26 12:14