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

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

  • 函數(shù)聲明
function example(  ){
    console.log(a1)
}
  • 函數(shù)表達(dá)式
var hanShu=function example( ) {
   consolo.log(a2)
}

函數(shù)表達(dá)式將一個(gè)函數(shù)聲明賦值給一個(gè)變量。
兩者有一個(gè)明顯的區(qū)別即是函數(shù)聲明會(huì)前置,而函數(shù)表達(dá)式不行。

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

  • 變量聲明前置
    變量的聲明(注意不包含變量初始化)會(huì)被提升(置頂)到聲明所在的上下文霎苗。也就是說(shuō),在變量的作 用域內(nèi)榛做,不管變量在何處聲明唁盏,都會(huì)被提升到作用域的頂部,但是變量初始化的順序不變检眯。

  • 函數(shù)聲明前置
    函數(shù)聲明在JS解析時(shí)進(jìn)行函數(shù)提升厘擂,因此在同一個(gè)作用域內(nèi),不管函數(shù)聲明在哪里定義锰瘸,該函數(shù)都可以進(jìn)行調(diào)用
    參考資料-變量提升
    參考資料-函數(shù)聲明前置

對(duì)于arguments 的理解

arguments是函數(shù)自帶的一個(gè)參數(shù)刽严,他可以調(diào)用函數(shù)的參數(shù)值
例如:

function message( name, age , tel){
           alert(arguments[0]);
}

arguments對(duì)象類(lèi)似于數(shù)組,通過(guò)[0],[1],[2]等避凝,來(lái)調(diào)用函數(shù)內(nèi)第一個(gè)舞萄,第二個(gè)眨补,第三個(gè)參數(shù)。
同時(shí)還有一個(gè)arguments.length 屬性可以知道有多少個(gè)參數(shù)傳遞給了函數(shù)倒脓。

在Javascript中函數(shù)的重載怎樣實(shí)現(xiàn)

  • 同種函數(shù)擁有唯一的函數(shù)名與形參撑螺,相同名字的函數(shù),參數(shù)個(gè)數(shù)不同或者順序不同都被認(rèn)為是不同的函數(shù)崎弃,稱為函數(shù)重載甘晤。

  • JavaScript并沒(méi)有函數(shù)重載這個(gè)特性,因?yàn)橹灰瘮?shù)名相同JS就認(rèn)為是同一個(gè)函數(shù)饲做。后面出現(xiàn)的函數(shù)后覆蓋前面出現(xiàn)的函數(shù)线婚。
    但是我們可以通過(guò)判斷傳入?yún)?shù)的數(shù)量和類(lèi)型,來(lái)進(jìn)行重載的模仿盆均。

function name( ) {
    if (arguments.length==1){
        console.log(arguments[0]+10);
    }else if(arguments.length==2){
        console.log(arguments[0]+arguments[1]);
    }
}

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

  • 立即執(zhí)行函數(shù):
    用括號(hào)將函數(shù)包裹起來(lái),同時(shí)后面再加一個(gè)括號(hào)
(function example( ) {
      console.log(a)
})( )

因?yàn)閖avascript語(yǔ)言中沒(méi)有塊級(jí)作用域缀踪,可以用次將函數(shù)包裹,避免變量的相互影響虹脯,減少錯(cuò)誤驴娃。

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

函數(shù)的作用域鏈?zhǔn)侵父鶕?jù)代碼的結(jié)構(gòu),形成一個(gè)單獨(dú)的作用域循集,而作用域之間又有關(guān)聯(lián)唇敞,形成一個(gè)鏈狀的結(jié)構(gòu),構(gòu)成作用域咒彤。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末疆柔,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子镶柱,更是在濱河造成了極大的恐慌旷档,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件歇拆,死亡現(xiàn)場(chǎng)離奇詭異鞋屈,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)故觅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)厂庇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人输吏,你說(shuō)我怎么就攤上這事权旷。” “怎么了贯溅?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵拄氯,是天一觀的道長(zhǎng)躲查。 經(jīng)常有香客問(wèn)我,道長(zhǎng)坤邪,這世上最難降的妖魔是什么熙含? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮艇纺,結(jié)果婚禮上怎静,老公的妹妹穿的比我還像新娘。我一直安慰自己黔衡,他們只是感情好蚓聘,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著盟劫,像睡著了一般夜牡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上侣签,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天塘装,我揣著相機(jī)與錄音,去河邊找鬼影所。 笑死蹦肴,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的猴娩。 我是一名探鬼主播阴幌,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼卷中!你這毒婦竟也來(lái)了矛双?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蟆豫,失蹤者是張志新(化名)和其女友劉穎议忽,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體十减,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡徙瓶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了嫉称。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片侦镇。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖织阅,靈堂內(nèi)的尸體忽然破棺而出壳繁,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布闹炉,位于F島的核電站蒿赢,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏渣触。R本人自食惡果不足惜羡棵,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嗅钻。 院中可真熱鬧皂冰,春花似錦、人聲如沸养篓。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)柳弄。三九已至舶胀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間碧注,已是汗流浹背嚣伐。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留萍丐,地道東北人轩端。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像碉纺,于是被迫代替她去往敵國(guó)和親船万。 傳聞我的和親對(duì)象是個(gè)殘疾皇子刻撒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

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

  • 函數(shù)聲明和函數(shù)表達(dá)式有什么區(qū)別 (*)解析器會(huì)率先讀取函數(shù)聲明骨田,并使其在執(zhí)行任何代碼之前可以訪問(wèn);函數(shù)表達(dá)式則必須...
    coolheadedY閱讀 385評(píng)論 0 1
  • 1. 函數(shù)聲明和函數(shù)表達(dá)式有什么區(qū)別 函數(shù)聲明就是定義一個(gè)函數(shù),如以下例子 function text(){ //...
    JunVincetHuo閱讀 197評(píng)論 0 0
  • 1. 函數(shù)聲明和函數(shù)表達(dá)式有什么區(qū)別 (*) 函數(shù)在JS中有三種方式來(lái)定義:函數(shù)聲明(function decla...
    進(jìn)擊的阿群閱讀 439評(píng)論 0 1
  • 概念 1声怔、函數(shù)聲明和函數(shù)表達(dá)式有什么區(qū)別态贤? ECMAScript規(guī)定了三種聲明函數(shù)方式: 構(gòu)造函數(shù)首先函數(shù)也是對(duì)象...
    周花花啊閱讀 464評(píng)論 1 1
  • 終于你又站在我面前 依然那不言茍笑的臉 雖然已在腦海演練千萬(wàn)遍 抵不過(guò)沖口而出的好久不見(jiàn) 熟悉的場(chǎng)景再一次重現(xiàn) 你...
    逍道邊閱讀 349評(píng)論 6 3