JS中的提升

JS中包含兩種提升,變量提升和函數(shù)提升。



變量提升

變量提升只能是var或者function聲明的變量或者函數(shù),let,const聲明的不存在提升的說(shuō)法。

顧名思義就是把下面的東西提升到上面。在函數(shù)域里定義一個(gè)和外部一樣名稱的變量時(shí),只會(huì)取到該函數(shù)域,在賦值以前的輸出為undefined。

在函數(shù)域內(nèi)的if,for,switch語(yǔ)句中的變量無(wú)論條件是否滿足都會(huì)得到提升,能夠賦值與否要看是否滿足條件。因此此處輸出為2;如果!a變?yōu)閍,則輸出為undefined.


函數(shù)提升

定義函數(shù)有兩種方式:函數(shù)聲明和函數(shù)表達(dá)式。函數(shù)聲明的函數(shù)才會(huì)提升函數(shù)(提升的其實(shí)是函數(shù)的引用,在聲明之前可以調(diào)用),函數(shù)表達(dá)式提升的其實(shí)只是一個(gè)變量(調(diào)用會(huì)報(bào)錯(cuò),因?yàn)橹皇且粋€(gè)變量)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第2章 基本語(yǔ)法 2.1 概述 基本句法和變量 語(yǔ)句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,569評(píng)論 0 13
  • 函數(shù)和對(duì)象 1、函數(shù) 1.1 函數(shù)概述 函數(shù)對(duì)于任何一門語(yǔ)言來(lái)說(shuō)都是核心的概念。通過(guò)函數(shù)可以封裝任意多條語(yǔ)句,而且...
    道無(wú)虛閱讀 4,957評(píng)論 0 5
  • 第3章 基本概念 3.1 語(yǔ)法 3.2 關(guān)鍵字和保留字 3.3 變量 3.4 數(shù)據(jù)類型 5種簡(jiǎn)單數(shù)據(jù)類型:Unde...
    RickCole閱讀 5,527評(píng)論 0 21
  • 我是雙魚座,特別的情緒化,還有一點(diǎn)不好,就是愛把自己的喜怒哀樂(lè)表現(xiàn)在臉上,這個(gè)人我喜歡就是喜歡,不喜歡就是...
    郝志陽(yáng)閱讀 615評(píng)論 0 0
  • 她應(yīng)該算是我的女神了,因?yàn)楫吘箍嗫嗨寄盍诉@么多年 雖然也只是每次在孤獨(dú)行路之時(shí) 再一次見到她的照片的時(shí)候,好像有那...
    bufans閱讀 413評(píng)論 0 0

友情鏈接更多精彩內(nèi)容