欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript聲明變量的這四兄弟(var、let、function、const)

 更新時間:2023年02月12日 21:45:25   作者:Cyan_Con  
這篇文章主要介紹了JavaScript聲明變量的這四兄弟,主要就是介紹var、let、function、const區(qū)別,需要的朋友可以參考下

四兄弟的背景

在一個名為編程語言的村莊里,有不同姓氏的村民。例如Java、Python、Golang、JavaScript等姓氏,而接下來要介紹的就是JavaScript這個姓氏的一些故事。

我們先介紹這個姓氏里的四個兄弟: var兄、function兄、 let兄、 const兄。這四個兄弟能做的事情居然都有點相似,不知是否是村長的蓄意安排。不過讓人欣慰的是,村長安排的時候考慮的還是很周到的,他們又有各自的特(脾)長(氣)。都挺能裝的!各自擁有一個帶密碼鎖的背包,可以幫忙擔(dān)點東西,總體來說都挺能干的,畢竟剛剛說了,挺能裝~

四兄弟的特點

我們通過一個表格來看下他們各自的特點:

特征字符英文名中文名特點
varVar Javascript雞娃好顯擺,裝東西之后,某種情況下還要把密碼告訴房東: window,而且上鎖之后可以打開更改里面的內(nèi)容,也不知道這個鎖到底能起到什么作用
functionFunction Javascript雞法裝的東西很不一般,一對()一對{},而且只能裝這種。這東西就跟魔法一樣,可以做好些事情。爆個小料:只要雞娃在雞法的領(lǐng)域內(nèi)顯擺,都能安排的明明白白,專治雞娃的顯擺
letLet Javascript雞欄雞欄比起前面兩位,年齡偏小。他不喜歡顯擺。而且裝了東西就好像一個圍欄,只在圍欄內(nèi)生效,好多JavaScript程序猿很喜歡他
constConst Javascript雞坑和雞欄都出生于2015年,也有圍欄的效果,這貨裝東西,就像往坑里扔石頭,扔完就沒法再扔其他東西了,再扔就發(fā)脾氣

四兄弟故事

window.writeWhen  -> undefined
window.writeWho   -> undefined
window.writeWhere -> undefined
window.writeHow -> undefined
window說 '你在我這找啥?我這沒有你要的這些,滾一邊去'
var writeWhen = '2022-03-20 22:50:30';  -> '2022-03-20 22:50:30'
//【畫外音】 雞娃裝了個標(biāo)識為writeWhen的內(nèi)容,結(jié)果他顯擺的毛病又犯了,讓房東知道了

function writeHow() {
  // 發(fā)揮魔法的地方
}
//【畫外音】 雞法的背包裝了個魔法

let writeWhen = '2022-03-20' -> SyntaxError: writeWhen has been declared
雞欄說:'what? 誰已經(jīng)裝過這個writeWhen了?看來我得換一個了'

const writeHow = 'function' -> SyntaxError: writeHow has been declared
雞坑說:'哎喲!這都有人裝過了?欄哥,咱們可別再裝其他兄弟或者咱們已經(jīng)裝過的了'

雞欄說:'好嘞,雞娃、雞法,我和雞坑裝過的你們也不要裝了'

雞娃、雞法說: '了解,我們也不想看見SynctaxError,繼續(xù)工作'
//【畫外音】他們達成了一致,只要被雞欄和雞坑裝過的,兄弟四個都無法再次裝入(declare),且過程不可逆

let writeWho = '簡言之' -> '簡言之'
//【畫外音】 雞欄這個圍欄已經(jīng)造好了

const writeWhere = 'juejin' -> 'juejin'
//【畫外音】 雞娃裝了個標(biāo)識為writeWhen的內(nèi)容,結(jié)果他顯擺的毛病又犯了,讓房東知道了

window.writeWhen -> '2022-03-20 22:50:30'
window.writeWho   -> undefined
window.writeWhere -> undefined
window.writeHow -> undefined
window說 '嘿嘿,雞娃愛顯擺,他那的情況我知道,其他三兄弟的我就無能為力咯'

function writeHow () {
    console.log(curTime, writeWho);
    var curTime = '2022-03-22 23:10';
    const writeWho = 'name'; 
    console.log(writeWho);
    return 'write with story';
}
//【畫外音】 我們重新定義了writeHow,并定制了魔法

writeHow(); -> log[undefined, '簡言之'] log('name') 'write with story'
//【畫外音】 雞法定義的這個writeHow施展了個魔法,就打印了2行結(jié)果并有了返回值,
// 這就是雞法的獨特之處
第一行: 打印curTime和writeWho,雞娃聲明的命名空間會在預(yù)檢階段有變量提升過程,
即使此時未賦值,也可以訪問到變量,并不會拋出異常。writeWho由于有作用域鏈的存在
在writeHow所在的區(qū)域內(nèi)找到了writeWho,返回了結(jié)果。所以打印了[undefined, '簡言之']

第二三行:以不同的方式定義了curTime和writeWho變量并賦值

第四行:打印writeWho,第三行重新定義了writeWho,由于const有“圍欄”的特點,所以此時的
writeWho成為了writeHow的私有變量,與外界同名變量再無關(guān)聯(lián)。所以打印了'name'

第五行: 函數(shù)返回值為'write with story'

結(jié)語

  • 都是定義變量的方式,function只能定義函數(shù),而letconstvar可以定義函數(shù)和普通變量
  • const定義過的變量無法再次直接賦值,const只用來定義常量,值不會發(fā)生變化的量
  • var在全局下定義的變量會映射到window
  • varfunction可以把已經(jīng)定義的同一變量反復(fù)定義賦值,但是只要被letconst聲明過,則無法再次定義

以上內(nèi)容均為非嚴格模式

到此這篇關(guān)于JavaScript聲明變量的這四兄弟(var、let、function、const)的文章就介紹到這了,更多相關(guān)JavaScript聲明變量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • js使用html2canvas實現(xiàn)屏幕截取的示例代碼

    js使用html2canvas實現(xiàn)屏幕截取的示例代碼

    這篇文章主要介紹了js使用html2canvas實現(xiàn)屏幕截取的示例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • JavaScript實現(xiàn)橫版菜單欄

    JavaScript實現(xiàn)橫版菜單欄

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)橫版菜單欄,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • 微信小程序?qū)崿F(xiàn)獲取用戶信息并存入數(shù)據(jù)庫操作示例

    微信小程序?qū)崿F(xiàn)獲取用戶信息并存入數(shù)據(jù)庫操作示例

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)獲取用戶信息并存入數(shù)據(jù)庫操作,涉及微信小程序wx.request后臺數(shù)據(jù)交互及php數(shù)據(jù)存儲相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • JavaScript中的null和undefined用法解析

    JavaScript中的null和undefined用法解析

    這篇文章主要介紹了JavaScript中的null和undefined用法解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • js編寫三級聯(lián)動簡單案例

    js編寫三級聯(lián)動簡單案例

    這篇文章主要為大家分享了JavaScript編寫三級聯(lián)動簡單案例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • JS ES6異步解決方案

    JS ES6異步解決方案

    這篇文章主要介紹了JS ES6異步解決方案,對異步感興趣的同學(xué),可以參考下
    2021-04-04
  • 用js實現(xiàn)猜數(shù)字小游戲

    用js實現(xiàn)猜數(shù)字小游戲

    這篇文章主要為大家詳細介紹了用js實現(xiàn)猜數(shù)字小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 在webstorm中配置less的方法詳解

    在webstorm中配置less的方法詳解

    這篇文章主要介紹了在webstorm中配置less的方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-09-09
  • js用閉包遍歷樹狀數(shù)組的方法

    js用閉包遍歷樹狀數(shù)組的方法

    這篇文章主要介紹了js中用閉包遍歷樹狀數(shù)組的方法,需要的朋友可以參考下
    2014-03-03
  • Javascript中window.name屬性詳解

    Javascript中window.name屬性詳解

    這篇文章主要介紹了Javascript中window.name屬性詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評論