027進(jìn)階函數(shù)-02 函數(shù)的五種聲明方式

第一種:具名函數(shù)

function x(input1, input2){
    return undefined  // 一個(gè)函數(shù)必須有一個(gè)終止的程序驮吱,就是 return掩幢,如果你不寫,那么瀏覽器也會(huì)幫我們加上鸠窗。
}

這里的(input1, input2)是2個(gè)變量苛坚,function是一個(gè)關(guān)鍵字,和 var 的作用是一樣的色难,var 是聲明一個(gè)變量泼舱,function 是聲明一個(gè)函數(shù),那么變量和函數(shù)有什么區(qū)別呢枷莉?

1.變量可以包含7種數(shù)據(jù)類型 (Boolean娇昙、Null、Undefined笤妙、Number冒掌、String、Symbol蹲盘、Object)
2.如果 function x股毫, 那么這個(gè) x 就一定是一個(gè)函數(shù),也就是說(shuō)這是一個(gè)特別的變量召衔, x就是這個(gè)函數(shù)的名字铃诬,我們可以通過(guò)consolo.log(x)給輸出出來(lái)。 我們?cè)瓉?lái)說(shuō)過(guò) consolo.log只接受字符串苍凛,如果不是字符串趣席,則會(huì)自動(dòng)調(diào)用 x.toString()方法來(lái)得到 string

打印出來(lái)的東西 和 return 的東西沒(méi)有任何關(guān)系,不要認(rèn)為打印出來(lái)什么就返回什么4己P恰!

第二種:匿名函數(shù) (沒(méi)有名字且將函數(shù)賦值給一個(gè)變量)

function (input1, input2){
    return undefined 
}

上述的例子中悠栓,如果單獨(dú)的去寫一個(gè)匿名函數(shù)的話是會(huì)報(bào)錯(cuò)的霉涨,匿名函數(shù)必須賦值給一個(gè)變量才可以按价。

第三種:具名函數(shù)賦值給一個(gè)變量

var x = funciton y(input1, input2){}

那么var x = funciton y(input1, input2){} 和直接聲明一個(gè) funciton y(){} 有什么區(qū)別呢?

第四種:window.Function 函數(shù)對(duì)象(程序員一般不會(huì)采用此方法)

new Function('第一個(gè)參數(shù)', '第二個(gè)參數(shù)', 'return x+y')

Function構(gòu)造函數(shù)接受三個(gè)參數(shù)嵌纲,除了最后一個(gè)參數(shù)是add函數(shù)的“函數(shù)體”俘枫,其他參數(shù)都是add函數(shù)的參數(shù)。
你可以傳遞任意數(shù)量的參數(shù)給Function構(gòu)造函數(shù)逮走,只有最后一個(gè)參數(shù)會(huì)被當(dāng)做函數(shù)體鸠蚪,如果只有一個(gè)參數(shù),該參數(shù)就是函數(shù)體师溅。

“函數(shù)體”部分用字符串表示茅信,字符串是可以拼接的,拼接的過(guò)程中可以加變量

new Function('x', 'y', 'return x+y')

var n = 1
f = new Function('x', 'y', 'return x +' +n+ '+y' ) 
//等同于 f = new Function('x', 'y', 'return x + y +' +n)  
//上面單引號(hào)里面的+表示運(yùn)算+ 外面的+表示拼接墓臭,整個(gè)拼接之后就是 return 1+2+1
//那么 f(1, 2)的值為 4 

Function構(gòu)造函數(shù)可以不使用new命令蘸鲸,返回結(jié)果完全一樣×保總的來(lái)說(shuō)酌摇,這種聲明函數(shù)的方式非常不直觀,幾乎無(wú)人使用嗡载。

第五種:箭頭函數(shù)(比較炫酷的)

注意:箭頭函數(shù)一定是匿名的窑多,這個(gè)語(yǔ)法就沒(méi)有給我們寫名字的地方。
f = (x, y)=>{return x+y}
//等號(hào)右邊的是一個(gè)匿名函數(shù)(箭頭函數(shù))


sum = (x, y) => { return x+y }
//★★★★如果花括號(hào)內(nèi)只有一句執(zhí)行內(nèi)容
//那么這個(gè)花括號(hào)和 return可以去掉 ,等同于如下:
sum = (x, y) => x+y
//★★★★★如果參數(shù)只有一個(gè)的話洼滚,那么圓括號(hào)也可以不要埂息,如下:
n2=n =>n*n

總結(jié)一下

function f(x, y){return x+y}
f = function{}
f = function x(){}
f = new Function('x', 'y', 'return x+y')
f = (x, y) => x+y
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市遥巴,隨后出現(xiàn)的幾起案子千康,更是在濱河造成了極大的恐慌,老刑警劉巖铲掐,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拾弃,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡迹炼,警方通過(guò)查閱死者的電腦和手機(jī)砸彬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)斯入,“玉大人砂碉,你說(shuō)我怎么就攤上這事】塘剑” “怎么了增蹭?”我有些...
    開封第一講書人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)磅摹。 經(jīng)常有香客問(wèn)我滋迈,道長(zhǎng)霎奢,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任饼灿,我火速辦了婚禮幕侠,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘碍彭。我一直安慰自己晤硕,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開白布庇忌。 她就那樣靜靜地躺著舞箍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪皆疹。 梳的紋絲不亂的頭發(fā)上疏橄,一...
    開封第一講書人閱讀 51,155評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音略就,去河邊找鬼捎迫。 笑死,一個(gè)胖子當(dāng)著我的面吹牛表牢,可吹牛的內(nèi)容都是我干的立砸。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼初茶,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了浊闪?” 一聲冷哼從身側(cè)響起恼布,我...
    開封第一講書人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎搁宾,沒(méi)想到半個(gè)月后折汞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡盖腿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年爽待,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片翩腐。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鸟款,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出茂卦,到底是詐尸還是另有隱情何什,我是刑警寧澤,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布等龙,位于F島的核電站处渣,受9級(jí)特大地震影響伶贰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜罐栈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一黍衙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧荠诬,春花似錦琅翻、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至凌外,卻和暖如春辩尊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背康辑。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工摄欲, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人疮薇。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓胸墙,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親按咒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子迟隅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353