最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS中的const命令你真懂它嗎

 更新時(shí)間:2020年03月08日 11:05:53   作者:羞羞的王大錘  
這篇文章主要介紹了JS中的const命令你真懂它嗎,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

const 定義

const聲明一個(gè)只讀的常量 。一旦聲明, 常量的值就不能改變。
常量 所謂的常量就是不能改變的值

const PI = 3.1415;
PI // 3.1415
PI = 3;
// TypeError: Assignment to constant variable.

上面代碼表明改變常量的值會(huì)報(bào)錯(cuò)。

const聲明的變量不得改變值,這意味著,const一旦聲明變量,就必須立即初始化,不能留到以后賦值。

我們都知道const一般聲明一個(gè)只讀的常量,聲明之后就不能修改了,并且聲明時(shí)必須初始化

const message = 'hello'
message // hello
const message 
// ❌報(bào)錯(cuò)SyntaxError: Missing initializer in const declaration
const message = 'hello'
message ='world'
// 報(bào)錯(cuò)TypeError: Assignment to constant variable.

那大家有沒有遇到這樣的情況

const dog = {}
dog.name = 'wangcai'
dog // {name: "wangcai"}

奇怪,上面的例子明明改變了變量的值,為什么沒有報(bào)錯(cuò)?

下面我們就探究一下const的本質(zhì)

本質(zhì)

其實(shí)const保證的并不是變量的值不動(dòng),而是變量指向的內(nèi)存地址不得改動(dòng)
可能有點(diǎn)抽象,我們來細(xì)細(xì)分析一下const聲明的全過程

const message = 'hello'
  1. js看到變量message后,會(huì)給message分配一個(gè)空房間(內(nèi)存空間)
  2. 看到等號(hào)右側(cè)的字符串‘hello'時(shí),會(huì)立馬給它安排另一個(gè)房間,并把‘hello'放到這個(gè)房間
  3. js會(huì)拿小本本抄下這個(gè)房間的房間號(hào)(內(nèi)存地址)
  4. 把這個(gè)房間號(hào)放到message這個(gè)房間里面,這時(shí)message中存儲(chǔ)的就是hello字符串的存儲(chǔ)地址(即指針)

當(dāng)我們?cè)俅钨x值時(shí)

message = 'word'

js會(huì)將存儲(chǔ)‘word'字符串的地址賦給message,而message又是用const定義的變量,不可以改變變量里存儲(chǔ)的內(nèi)存地址,這時(shí)就會(huì)❌報(bào)錯(cuò)

而當(dāng)遇到下面這種情況

const dog = {}
dog.name = 'wangcai'
dog // {name: "wangcai"}

則可以理解為
dog中存儲(chǔ)的是對(duì)象的房間號(hào)(內(nèi)存地址)
dog.name= 'wangcai',在給對(duì)象添加屬性的過程,并沒有改變這個(gè)地址,所以結(jié)果正常顯示

劃重點(diǎn)
const保證的并不是變量的值不動(dòng),而是變量指向的內(nèi)存地址不得改動(dòng)

到此這篇關(guān)于JS中的const命令你真懂它嗎的文章就介紹到這了,更多相關(guān)JS const命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 理解javascript中的回調(diào)函數(shù)(callback)

    理解javascript中的回調(diào)函數(shù)(callback)

    這篇文章主要介紹了理解javascript中的回調(diào)函數(shù)(callback),本文著重于對(duì)回調(diào)函數(shù)概念的理解,需要的朋友可以參考下
    2014-09-09
  • JavaScript編寫點(diǎn)擊查看大圖的頁面半透明遮罩層效果實(shí)例

    JavaScript編寫點(diǎn)擊查看大圖的頁面半透明遮罩層效果實(shí)例

    這篇文章主要介紹了JavaScript制作點(diǎn)擊查看大圖的頁面遮罩層效果實(shí)例,透明部分這里使用的是CSS3的rgba,兼容性還是過得去的,需要的朋友可以參考下
    2016-05-05
  • 學(xué)習(xí)JavaScript正則表達(dá)式

    學(xué)習(xí)JavaScript正則表達(dá)式

    這篇文章主要介紹了JavaScript正則表達(dá)式,詳細(xì)深入的了解JavaScript正則表達(dá)式,從而更熟練掌握J(rèn)avaScript正則表達(dá)式,感興趣的小伙伴們可以參考一下
    2015-11-11
  • js寫一個(gè)字符串轉(zhuǎn)成駝峰的實(shí)例

    js寫一個(gè)字符串轉(zhuǎn)成駝峰的實(shí)例

    寫一個(gè)字符串轉(zhuǎn)成駝峰的方法,使用js代碼實(shí)現(xiàn),具體如下,感興趣的朋友可以了解下哈
    2013-06-06
  • JS中map與forEach無法跳出循環(huán)及every和some的使用

    JS中map與forEach無法跳出循環(huán)及every和some的使用

    在我們平時(shí)使用習(xí)慣中,for循環(huán)里要跳出整個(gè)循環(huán)是使用break,但在數(shù)組中用forEach循環(huán)或者map如要退出整個(gè)循環(huán)使用break會(huì)報(bào)錯(cuò),使用return也不能跳出循環(huán),下面這篇文章主要介紹了關(guān)于JS中map與forEach無法跳出循環(huán)及every和some的使用的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • JavaScript canvas動(dòng)畫實(shí)現(xiàn)時(shí)鐘效果

    JavaScript canvas動(dòng)畫實(shí)現(xiàn)時(shí)鐘效果

    這篇文章主要為大家詳細(xì)介紹了JavaScript canvas動(dòng)畫實(shí)現(xiàn)時(shí)鐘效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • 原生js封裝的ajax方法示例

    原生js封裝的ajax方法示例

    這篇文章主要介紹了原生js封裝的ajax方法,結(jié)合實(shí)例形式分析了JavaScript封裝ajax操作及調(diào)用方法相關(guān)操作技巧,非常簡單實(shí)用,需要的朋友可以參考下
    2018-08-08
  • JavaScript中內(nèi)存泄漏的介紹與教程(推薦)

    JavaScript中內(nèi)存泄漏的介紹與教程(推薦)

    內(nèi)存泄露是指一塊被分配的內(nèi)存既不能使用,又不能回收,直到瀏覽器進(jìn)程結(jié)束。下面這篇文章主要給的大家介紹了關(guān)于JavaScript中內(nèi)存泄漏的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • 原生js實(shí)現(xiàn)tab選項(xiàng)卡切換

    原生js實(shí)現(xiàn)tab選項(xiàng)卡切換

    這篇文章主要為大家詳細(xì)介紹了原生js實(shí)現(xiàn)tab選項(xiàng)卡,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • 輕松搞定js表單驗(yàn)證

    輕松搞定js表單驗(yàn)證

    不用一行代碼和一句提示語就搞定整個(gè)表單驗(yàn)證,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10

最新評(píng)論

琼海市| 新晃| 红安县| 孝义市| 丹巴县| 楚雄市| 五峰| 信宜市| 赤城县| 东港市| 偏关县| 白城市| 靖安县| 九寨沟县| 宿迁市| 化州市| 宁安市| 和静县| 古丈县| 吉安市| 顺昌县| 壶关县| 庆城县| 太湖县| 五大连池市| 隆安县| 光山县| 元阳县| 灵宝市| 蛟河市| 堆龙德庆县| 泰来县| 苍梧县| 阿坝| 微山县| 新竹市| 石狮市| 兰考县| 盐边县| 西宁市| 巴林右旗|