函數(shù)和作用域

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

函數(shù)聲明是使用function來進行聲明的氛赐,可以不用在意調(diào)用函數(shù)的前后位置漠吻,是因為函數(shù)聲明會前置擅耽。

而函數(shù)表達式是則是通過”=“(賦值)來聲明函數(shù)傻盟,函數(shù)表達式必須放在調(diào)用函數(shù)之前速蕊。因為函數(shù)表達式是將變量提升,而不是將函數(shù)前置娘赴,而此時的變量是undefined规哲。所以函數(shù)表達式必須在調(diào)用函數(shù)之前。

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

聲明前置 會都會提升到當(dāng)前作用域的頂部

var 聲明的變量會前置唉锌,而function定義的函數(shù)隅肥,則會將函數(shù)的聲明前置。

例如


變量的聲明前置


函數(shù)的申明前置

3.arguments 是什么

arguments shi類數(shù)組的對象袄简,用來顯示所有傳入函數(shù)的參數(shù)腥放。

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

在java或c等語言中,重載是函數(shù)名相同痘番,而參數(shù)類型不同捉片,從而滿足相同函數(shù)不同參數(shù)對不同功能的實現(xiàn)平痰。但是在js中汞舱,相同的函數(shù)會出現(xiàn)覆蓋的問題,要實現(xiàn)重載宗雇,只有在函數(shù)內(nèi)部實現(xiàn)對不同參數(shù)類型的區(qū)分昂芜,然后實現(xiàn)不同區(qū)分的實現(xiàn)秩贰。


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


立即執(zhí)行函數(shù)也叫IIFE是能夠立刻執(zhí)行,避免了全局變量的污染愧口,也類似的模仿出了一個塊作用域舞虱,IIIFE之外的函數(shù)是無法訪問IIFE函數(shù)內(nèi)部的欢际。

6.求n!,用遞歸來實現(xiàn)


7.以下代碼輸出什么矾兜?


getInfo("饑人谷"损趋,2,"男");輸出的是



getInfo("小谷"椅寺,3)浑槽;輸出的是


getInfo('男')輸出的是:


8. 寫一個函數(shù),返回參數(shù)的平方和返帕?

9.如下代碼的輸出桐玻?為什么


結(jié)果為:

因為console.log(a)在 var a=1之前,變量a提升荆萤,此時的結(jié)果為undifined.

console.log(b)是因為b沒有聲明镊靴,所以出現(xiàn)了錯誤。

10. 如下代碼的輸出链韭?為什么


結(jié)果為:hello world

? ? ? ? ? ? ? ?undefined?

因為函數(shù)sayName是函數(shù)聲明偏竟,函數(shù)的聲明會前置

sayAge是函數(shù)表達式梧油,是將變量前置苫耸,變量前置的結(jié)果是undefined

11. 如下代碼輸出什么? 寫出作用域鏈查找過程偽代碼

結(jié)果是10


12. 如下代碼輸出什么? 寫出作用域鏈查找過程偽代碼


結(jié)果為:30

執(zhí)行bar()函數(shù)的時,內(nèi)部執(zhí)行foo()儡陨,先從bar的執(zhí)行上下文中的活動對象中查找是否有foo褪子,barcontext.AO中有foo量淌,進入foo的執(zhí)行上下文,發(fā)現(xiàn)沒有x嫌褪,返回bar執(zhí)行上下文的活動對象中中查找到有x呀枢。所以x的值為30

13. 以下代碼輸出什么? 寫出作用域鏈的查找過程偽代碼


結(jié)果為30

(function(){console.log(x))()是立即執(zhí)行函數(shù)表達式,會從當(dāng)前的活動對象中查找x笼痛,如果沒有就從bar里面找到了x裙秋,所以x為30

14以下代碼輸出什么? 寫出作用域鏈查找過程偽代碼


結(jié)果為:undefined 缨伊,5 摘刑,16 ,20 刻坊,200




最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末枷恕,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子谭胚,更是在濱河造成了極大的恐慌徐块,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件灾而,死亡現(xiàn)場離奇詭異胡控,居然都是意外死亡,警方通過查閱死者的電腦和手機旁趟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進店門昼激,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人轻庆,你說我怎么就攤上這事癣猾。” “怎么了余爆?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵纷宇,是天一觀的道長。 經(jīng)常有香客問我蛾方,道長像捶,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任桩砰,我火速辦了婚禮拓春,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘亚隅。我一直安慰自己硼莽,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布煮纵。 她就那樣靜靜地躺著懂鸵,像睡著了一般偏螺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上匆光,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天套像,我揣著相機與錄音,去河邊找鬼终息。 笑死夺巩,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的周崭。 我是一名探鬼主播柳譬,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼休傍!你這毒婦竟也來了征绎?” 一聲冷哼從身側(cè)響起蹲姐,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤磨取,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后柴墩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體忙厌,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年江咳,在試婚紗的時候發(fā)現(xiàn)自己被綠了逢净。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡歼指,死狀恐怖爹土,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情踩身,我是刑警寧澤胀茵,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站挟阻,受9級特大地震影響琼娘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜附鸽,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一脱拼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧坷备,春花似錦熄浓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谎柄。三九已至,卻和暖如春惯雳,著一層夾襖步出監(jiān)牢的瞬間朝巫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工石景, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留劈猿,地道東北人。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓潮孽,卻偏偏與公主長得像揪荣,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子往史,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,629評論 2 354

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

  • 1.函數(shù)聲明和函數(shù)表達式有什么區(qū)別 (*) 函數(shù)聲明 函數(shù)表達式 函數(shù)聲明:函數(shù)調(diào)用可以發(fā)生在函數(shù)聲明之前,例如下...
    TimeLesser閱讀 395評論 4 4
  • 1.函數(shù)聲明和函數(shù)表達式有什么區(qū)別 函數(shù)聲明 使用 function 關(guān)鍵字聲明一個函數(shù) 聲明不必放到調(diào)用的前面仗颈,...
    Soarse閱讀 204評論 0 0
  • 1.函數(shù)聲明和函數(shù)表達式有什么區(qū)別 (*) 區(qū)別: 函數(shù)聲明后面的分號可加可不加,不加也不影響接下來語句的執(zhí)行椎例,但...
    Sheldon_Yee閱讀 399評論 0 1
  • 1.函數(shù)聲明和函數(shù)表達式有什么區(qū)別? 函數(shù)聲明必須有標(biāo)識符挨决,也就是常說的函數(shù)名;函數(shù)表達式可以省略函數(shù)名.函數(shù)聲明...
    Schrodinger的貓閱讀 243評論 0 0
  • 1订歪、 函數(shù)聲明和函數(shù)表達式有什么區(qū)別 ECMAScript規(guī)定了三種聲明函數(shù)方式:構(gòu)造函數(shù)脖祈、函數(shù)聲明、和函數(shù)表達式...
    熊蛋子17閱讀 401評論 0 2