成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

字面量、變量、常量 let const的理解

gplane / 954人閱讀

摘要:常量與字面量的區(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.1415

      PI  // 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

相關(guān)文章

  • 【重溫基礎(chǔ)】1.語(yǔ)法和數(shù)據(jù)類(lèi)型

    摘要:語(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...

    Darkgel 評(píng)論0 收藏0
  • 帶你入門(mén) JavaScript ES6 (一)

    摘要:是國(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,通常被...

    lindroid 評(píng)論0 收藏0
  • 重新復(fù)習(xí)js

    摘要:復(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 和 ...

    xuexiangjys 評(píng)論0 收藏0
  • 《深入理解ES6》筆記——擴(kuò)展對(duì)象功能性(4)

    摘要:將對(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ì)象分為下面幾種叫法。(不需...

    baihe 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<