“還記得前幾天我們說的鼠標(biāo)事件么?里面用到了兩個函數(shù)overme和outme,今天咱聊聊函數(shù)的一些基礎(chǔ)知識吧攻臀!”
“好啊纱昧!前兩天說這兩個函數(shù)的時(shí)候我心里就有很多不明白的地方茵烈,能系統(tǒng)的說一下就最好了!”
老朱說:“我覺得剛開始也不一定要把函數(shù)相關(guān)的知識都說了砌些,咱還是挑一些重要的來說吧!”
老朱接著說:“在js里面函數(shù)也可以作為一個參數(shù)傳遞加匈,也就是說我們可以定義一個變量存璃,讓變量等于一個匿名函數(shù)〉衿矗”
小白打斷了老朱說的話纵东,問道:“朱哥,什么是匿名函數(shù)呢啥寇?”
“哦偎球!一般我們定義函數(shù)的時(shí)候都是有函數(shù)名的,匿名函數(shù)就是沒有函數(shù)名的函數(shù)辑甜。你看下面就是一個匿名函數(shù)”
“這個函數(shù)跟之前的overme和outme函數(shù)區(qū)別在于沒有函數(shù)名衰絮,它的外部通過小括號括住,如果需要參數(shù)傳遞磷醋,后面可以跟一對小括號放參數(shù)猫牡,如現(xiàn)在這個匿名函數(shù)需要傳遞一個參數(shù)a,所以后面有一對小括號里面?zhèn)鬟f了參數(shù)15邓线。匿名函數(shù)有一個非常大的好處就是淌友,我們做的一個功能頁面如果可能會被別的頁面調(diào)用,為了避免變量名稱沖突骇陈,通常在這個頁面的js功能通過一個匿名函數(shù)來實(shí)現(xiàn)震庭,匿名函數(shù)內(nèi)部的變量使用var定義就不會與其他頁面同名變量沖突。匿名函數(shù)用處非常大你雌,匿名函數(shù)以后如果用到我們專門來講器联,今天主要說普通的函數(shù)。現(xiàn)在我們讓一個變量tipf等于這個匿名函數(shù)≈骷”
“這里的兩個函數(shù)表達(dá)的內(nèi)容是一樣的习贫,都可以傳遞一個參數(shù)a,然后在控制臺輸出myTip+a字符串千元。唯一的區(qū)別就是上面的tipf函數(shù)符合代碼順序執(zhí)行苫昌,下面的tipf函數(shù)可以在頁面任意位置定義。另外在定義js對象的時(shí)候也可以用第一種方式通過prototype給對象設(shè)定方法幸海,這個你有個印象就可以祟身,現(xiàn)在不用詳細(xì)了解,否則對你學(xué)習(xí)JS的興趣會有打擊物独⊥嗔颍”
“那你為啥還要說prototype,我已經(jīng)開始迷糊了挡篓⊥裣荩”,小白郁悶的說道官研。
“哈哈秽澳,開個玩笑么,你有個印象總比以后碰到prototype犯迷糊強(qiáng)吧戏羽,好歹知道怎么回事担神。之前咱看到的函數(shù)都沒有返回值,還有一種函數(shù)是有返回值的始花,返回值使用return關(guān)鍵字妄讯。比如下面這個函數(shù)”
這個res函數(shù)有一個參數(shù)s,我們傳入字符串s以后酷宵,函數(shù)會返回一個包含span標(biāo)簽的紅色文字亥贸。直觀理解就是,res等于返回值忧吟。于是我們?nèi)绻M粋€div里面放一段紅色的文字就不用考慮樣式了砌函,只需要直接傳遞文本就可以。
“在前期學(xué)習(xí)js和使用js的時(shí)候函數(shù)可以說無處不在溜族,你需要大量使用函數(shù)尋找使用函數(shù)的感覺讹俊,這樣會為你之后使用js對象打下很好的基礎(chǔ),今天就聊這么多吧煌抒,以后碰到函數(shù)問題我們再做詳細(xì)說明仍劈。”
想學(xué)H5的朋友可以關(guān)注老爐寡壮,您的關(guān)注是我持續(xù)更新《小白H5成長之路》的動力贩疙!