關(guān)于 JS-函數(shù)

1. 函數(shù)聲明和函數(shù)表達(dá)式有什么區(qū)別

  • 函數(shù)聲明就是定義一個(gè)函數(shù),如以下例子

function text(){ //函數(shù)聲明 console.log(1); }

  • 函數(shù)表達(dá)式就是讓變量等于一個(gè)函數(shù),也具有聲明函數(shù)的作用(因此后面要加分號(hào)),如

var a =function text() { console.log(1); };

  • 區(qū)別在于:雖然兩者都有聲明函數(shù)的作用,但是函數(shù)聲明能使整個(gè)函數(shù)提升(就是能在全局任何時(shí)候調(diào)用函數(shù)),但是函數(shù)表達(dá)式只讓變量提前,只起到變量提升的作用,必須等到解析器執(zhí)行到他所在的代碼才會(huì)被真正執(zhí)行(就是倘若在表達(dá)式之前調(diào)用函數(shù),會(huì)發(fā)生錯(cuò)誤,只能在表達(dá)式之后調(diào)用函數(shù))
函數(shù)表達(dá)式前調(diào)用函數(shù).png
函數(shù)表達(dá)式后調(diào)用函數(shù).png

2.什么是變量的聲明前置?什么是函數(shù)的聲明前置

  • 變量的聲明前置就是把變量(var a不是var a =3//a=3并沒(méi)有提升)提升到前面(最前面)
  • 函數(shù)的聲明前置把函數(shù)提升到前面(函數(shù)表達(dá)式并不可以)

3.arguments 是什么

在函數(shù)內(nèi)部,你可以使用arguments對(duì)象獲取到該函數(shù)的所有傳入?yún)?shù),能展示數(shù)組的實(shí)參是什么(形參不可以)

arguments實(shí)現(xiàn).png

參考:JavaScript arguments對(duì)象

4.函數(shù)的重載怎樣實(shí)現(xiàn)?

JavaScript并沒(méi)有重載的功能,因此可以通過(guò)arguments實(shí)現(xiàn)

arguments重載.png

5.立即執(zhí)行函數(shù)表達(dá)式是什么机蔗?有什么作用?

  • 立即執(zhí)行函數(shù)表達(dá)式(Immediately-Invoked Function Expression),是將函數(shù)定義放在一個(gè)圓括號(hào)里,讓JavaScript引擎將其理解為一個(gè)表達(dá)式膀斋,再在函數(shù)的定義后面加一個(gè)()菠隆,以達(dá)到定義函數(shù)后立即調(diào)用該函數(shù)的效果读整。
  • (function fn(){}())
  • 作用就是立即執(zhí)行函數(shù)表達(dá)式并不會(huì)改變?nèi)肿兞?**通常是用來(lái)立刻調(diào)用
    ![Uploading 作用域鏈展示_922803.png . . .]
    函數(shù)得出結(jié)果)
    • 定義的變量只是局部變量
  • 可以將獨(dú)立的功能封裝在自包含模塊中。

6..什么是函數(shù)的作用域鏈

  • 作用域:作用域就是變量與函數(shù)的可訪問(wèn)范圍罐氨,即作用域控制著變量與函數(shù)的可見(jiàn)性和生命周期臀规。在JavaScript中,變量的作用域有全局作用域和局部作用域兩種栅隐。

例子如下:

作用域鏈展示.png

JavaScript 開(kāi)發(fā)進(jìn)階:理解 JavaScript 作用域和作用域鏈


代碼

1


task-1.png
task-2.png
task-3.png
task-4.png
task-5.png
task-6.png
task-7.png
task-8.png
task-9.png
task10.png

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末塔嬉,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子约啊,更是在濱河造成了極大的恐慌邑遏,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恰矩,死亡現(xiàn)場(chǎng)離奇詭異记盒,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)外傅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門纪吮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人萎胰,你說(shuō)我怎么就攤上這事碾盟。” “怎么了技竟?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵冰肴,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我榔组,道長(zhǎng)熙尉,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任搓扯,我火速辦了婚禮检痰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘锨推。我一直安慰自己铅歼,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布换可。 她就那樣靜靜地躺著椎椰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪沾鳄。 梳的紋絲不亂的頭發(fā)上俭识,一...
    開(kāi)封第一講書(shū)人閱讀 49,950評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音洞渔,去河邊找鬼套媚。 笑死,一個(gè)胖子當(dāng)著我的面吹牛磁椒,可吹牛的內(nèi)容都是我干的堤瘤。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼浆熔,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼本辐!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起医增,我...
    開(kāi)封第一講書(shū)人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤慎皱,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后叶骨,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體茫多,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年忽刽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了天揖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡跪帝,死狀恐怖今膊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情伞剑,我是刑警寧澤斑唬,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站黎泣,受9級(jí)特大地震影響恕刘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜聘裁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一雪营、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧衡便,春花似錦献起、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至呆抑,卻和暖如春岂嗓,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背鹊碍。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工厌殉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留食绿,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓公罕,卻偏偏與公主長(zhǎng)得像器紧,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子楼眷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • 函數(shù)聲明和函數(shù)表達(dá)式有什么區(qū)別 函數(shù)聲明 函數(shù)表達(dá)式 函數(shù)表達(dá)式將一個(gè)函數(shù)聲明賦值給一個(gè)變量铲汪。兩者有一個(gè)明顯的區(qū)別...
    尹薩薩閱讀 270評(píng)論 0 0
  • 之前學(xué)習(xí)JS的變量聲明前置和函數(shù)聲明的相關(guān)內(nèi)容時(shí),忘記討論一個(gè)互相影響的問(wèn)題了罐柳,這里特地補(bǔ)充一下掌腰。 即JavaSc...
    DHFE閱讀 1,344評(píng)論 0 2
  • 1. 函數(shù)聲明和函數(shù)表達(dá)式有什么區(qū)別 (*) 函數(shù)在JS中有三種方式來(lái)定義:函數(shù)聲明(function decla...
    進(jìn)擊的阿群閱讀 440評(píng)論 0 1
  • 函數(shù)是一段可以反復(fù)調(diào)用的代碼塊。函數(shù)還能接受輸入的參數(shù)张吉,不同的參數(shù)會(huì)返回不同的值齿梁。 概述 函數(shù)的聲明 JavaSc...
    oWSQo閱讀 1,252評(píng)論 0 4
  • 參考文章:函數(shù) 1.概述 1.1函數(shù)的聲明 JavaScript 有三種聲明函數(shù)的方法。 (1)function ...
    chrisghb閱讀 1,157評(píng)論 0 0