函數(shù)與作用域

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

傳送門(mdn推薦的文章)
?函數(shù)聲明:function functionName(){}
?函數(shù)表達(dá)式:var fn = function(){}
?函數(shù)聲明會提前,函數(shù)表達(dá)式可以省略標(biāo)識符(函數(shù)名)。
函數(shù)聲明時就已經(jīng)完成函數(shù)的構(gòu)建了,而函數(shù)表達(dá)式是在程序運行到此處才完成構(gòu)建(函數(shù)表達(dá)式的變量聲明 完之后值為undefined),所以在重名的情況下,表達(dá)式會替代聲明
示例

示例

另外mdn里還有一種條件創(chuàng)造函數(shù)(Conditionally created functions),我目前還不清楚什么時候應(yīng)該使用這種方式來定義函數(shù)。希望各位大牛指教。

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

所謂的變量聲明前置就是在一個作用域塊中,所有的變量都被放在塊的開始出聲明。
和變量聲明前置一樣,執(zhí)行代碼之前會先讀取函數(shù)聲明,只要函數(shù)在代碼中進(jìn)行了聲明,無論它在哪個位置上進(jìn)行聲明,js引擎都會將它的聲明放在范圍作用域的頂部。

arguments 是什么

arguments是函數(shù)的形參,它是一個類數(shù)組對象。

函數(shù)重載怎樣實現(xiàn)

  • JS中不存在函數(shù)的“重載”,同名函數(shù)會被覆蓋,但是JS卻可以利用函數(shù)體針對不同的參數(shù)調(diào)用相應(yīng)的邏輯來達(dá)到其他語言的函數(shù)重載的效果。
  • 其他語言的函數(shù)重載樣例:

function int translateNumber(parseInt(a),parseInt(b)){
statement;
}
function float translateNumber(parseFloat(a),parseFloat(b)){
statement;
}

  • JS偽"重載"樣例:

function getInfOfPeople(name,age,sex) {
if(name){
console.log(name);
}
if(age){
console.log(age);
}
if(sex){
console.log(sex);
}
}
getInfOfPeople(2,3);
getInfOfPeople(2,3,1);

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

函數(shù)構(gòu)建后直接就可以運行的函數(shù)叫做立即執(zhí)行函數(shù)(傳送門)
作用:從傳送門中的文章來看,作用就是利用閉包來形成私有變量。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 函數(shù)聲明和函數(shù)表達(dá)式有什么區(qū)別 使用function關(guān)鍵字聲明一個函數(shù)時,聲明不必放到調(diào)用的前面。//函數(shù)聲...
    _李祺閱讀 336評論 0 0
  • 函數(shù)聲明和函數(shù)表達(dá)式有什么區(qū)別? 函數(shù)聲明和函數(shù)表達(dá)式是EMACScript規(guī)定的兩種不同的聲明函數(shù)的方法。1.函...
    LeeoZz閱讀 455評論 0 1
  • 1,函數(shù)聲明和函數(shù)表達(dá)式有什么區(qū)別 1、背景介紹 定義函數(shù)的方法主要有三種: 1:函數(shù)聲明(Function De...
  • 聲明前置和作用域也是JS 部分面試常考點 1.函數(shù)聲明和函數(shù)表達(dá)式有什么區(qū)別 函數(shù)聲明:使用function關(guān)鍵字...
    湖衣閱讀 283評論 0 0
  • 吃完火鍋出來就晚上10點了,你知道嘛?太原下雪了,我期待了一整個冬天得雪,我走了無數(shù)遍的長風(fēng)街,街上很冷,行...
    小時間碎碎閱讀 273評論 0 0

友情鏈接更多精彩內(nèi)容