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

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

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

四兄弟的背景

在一個名為編程語言的村莊里,有不同姓氏的村民。例如JavaPython、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ù)工作'
//【畫外音】他們達(dá)成了一致,只要被雞欄和雞坑裝過的,兄弟四個都無法再次裝入(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)容均為非嚴(yán)格模式

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

相關(guān)文章

  • JavaScript中的細(xì)節(jié)分析

    JavaScript中的細(xì)節(jié)分析

    高山登不上,不是因為體力不支,只因鞋里一粒。學(xué)習(xí)也是如此,因而有必要把JavaScript中常見的和與其它語言不同的那些細(xì)節(jié)學(xué)習(xí)一下
    2012-06-06
  • js中的異常處理try...catch使用介紹

    js中的異常處理try...catch使用介紹

    在JavaScript可以使用try...catch來進(jìn)行異常處理,下面有個不錯的示例,大家可以參考下,希望對大家有所幫助
    2013-09-09
  • js實現(xiàn)購物車加減以及價格計算功能

    js實現(xiàn)購物車加減以及價格計算功能

    這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)購物車加減以及價格計算功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • table insertRow、deleteRow定義和用法總結(jié)

    table insertRow、deleteRow定義和用法總結(jié)

    這篇文章主要對table insertRow、deleteRow定義和用法做下總結(jié),需要的朋友可以參考下
    2014-05-05
  • JavaScript中Infinity(無窮數(shù))的使用和注意事項

    JavaScript中Infinity(無窮數(shù))的使用和注意事項

    Infinity(無窮大)在 JS 中是一個特殊的數(shù)字,它的特性是它比任何有限的數(shù)字都大,如果不知道 Infinity,我們在一些運算操作遇到時,就會覺得很有意思,下面這篇文章主要給大家介紹了關(guān)于JavaScript中Infinity(無窮數(shù))的使用和注意事項,需要的朋友可以參考下
    2022-04-04
  • javascript每日必學(xué)之條件分支

    javascript每日必學(xué)之條件分支

    javascript每日必學(xué)之條件分支,本文的主要內(nèi)容就是介紹的邏輯條件分支,循環(huán),感興趣的小伙伴們可以參考一下
    2016-02-02
  • js滾動條多種樣式,推薦

    js滾動條多種樣式,推薦

    [紅色]js滾動條多種樣式,推薦...
    2007-02-02
  • js定時器setInterval、clearInterval的使用方法舉例

    js定時器setInterval、clearInterval的使用方法舉例

    Javascript的setTimeOut和clearInterval函數(shù)應(yīng)用非常廣泛,它們都用來處理延時和定時任務(wù),這篇文章主要給大家介紹了關(guān)于js定時器setInterval、clearInterval使用方法的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • 頁面版文本框智能提示JS代碼

    頁面版文本框智能提示JS代碼

    首先說下背景,該code用于一個多條件查詢界面,原本該查詢條件由一個下拉列表提供,但是由于下拉列表數(shù)據(jù)量過大,用戶使用不方便,便希望在頁面給出一個智能提示的功能,但搜索的數(shù)據(jù)來自下拉列表
    2009-11-11
  • JS+Canvas繪制動態(tài)時鐘效果

    JS+Canvas繪制動態(tài)時鐘效果

    這篇文章主要為大家詳細(xì)介紹了JS+Canvas繪制動態(tài)時鐘效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11

最新評論

凤冈县| 双江| 高邑县| 通许县| 安远县| 廉江市| 若尔盖县| 驻马店市| 彰化市| 原阳县| 义马市| 汾西县| 柳州市| 泽库县| 政和县| 丹东市| 革吉县| 贵州省| 手游| 岳西县| 太仆寺旗| 百色市| 庐江县| 昆明市| 思南县| 永和县| 岳西县| 泾阳县| 逊克县| 汝南县| 皮山县| 阜宁县| 翁牛特旗| 郸城县| 花莲县| 砀山县| 桐庐县| 攀枝花市| 图片| 会理县| 白银市|