《小白H5成長之路20》第一次體驗js里面的函數

“還記得前幾天我們說的鼠標事件么?里面用到了兩個函數overme和outme,今天咱聊聊函數的一些基礎知識吧!”

“好啊!前兩天說這兩個函數的時候我心里就有很多不明白的地方,能系統的說一下就最好了!”

老朱說:“我覺得剛開始也不一定要把函數相關的知識都說了,咱還是挑一些重要的來說吧!”

老朱接著說:“在js里面函數也可以作為一個參數傳遞,也就是說我們可以定義一個變量,讓變量等于一個匿名函數。”

小白打斷了老朱說的話,問道:“朱哥,什么是匿名函數呢?”

“哦!一般我們定義函數的時候都是有函數名的,匿名函數就是沒有函數名的函數。你看下面就是一個匿名函數”

“這個函數跟之前的overme和outme函數區別在于沒有函數名,它的外部通過小括號括住,如果需要參數傳遞,后面可以跟一對小括號放參數,如現在這個匿名函數需要傳遞一個參數a,所以后面有一對小括號里面傳遞了參數15。匿名函數有一個非常大的好處就是,我們做的一個功能頁面如果可能會被別的頁面調用,為了避免變量名稱沖突,通常在這個頁面的js功能通過一個匿名函數來實現,匿名函數內部的變量使用var定義就不會與其他頁面同名變量沖突。匿名函數用處非常大,匿名函數以后如果用到我們專門來講,今天主要說普通的函數。現在我們讓一個變量tipf等于這個匿名函數。”

“這里的兩個函數表達的內容是一樣的,都可以傳遞一個參數a,然后在控制臺輸出myTip+a字符串。唯一的區別就是上面的tipf函數符合代碼順序執行,下面的tipf函數可以在頁面任意位置定義。另外在定義js對象的時候也可以用第一種方式通過prototype給對象設定方法,這個你有個印象就可以,現在不用詳細了解,否則對你學習JS的興趣會有打擊。”

“那你為啥還要說prototype,我已經開始迷糊了。”,小白郁悶的說道。

“哈哈,開個玩笑么,你有個印象總比以后碰到prototype犯迷糊強吧,好歹知道怎么回事。之前咱看到的函數都沒有返回值,還有一種函數是有返回值的,返回值使用return關鍵字。比如下面這個函數”

這個res函數有一個參數s,我們傳入字符串s以后,函數會返回一個包含span標簽的紅色文字。直觀理解就是,res等于返回值。于是我們如果希望一個div里面放一段紅色的文字就不用考慮樣式了,只需要直接傳遞文本就可以。

“在前期學習js和使用js的時候函數可以說無處不在,你需要大量使用函數尋找使用函數的感覺,這樣會為你之后使用js對象打下很好的基礎,今天就聊這么多吧,以后碰到函數問題我們再做詳細說明。”


想學H5的朋友可以關注老爐,您的關注是我持續更新《小白H5成長之路》的動力!

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 工廠模式類似于現實生活中的工廠可以產生大量相似的商品,去做同樣的事情,實現同樣的效果;這時候需要使用工廠模式。簡單...
    舟漁行舟閱讀 7,827評論 2 17
  • 這件事我預謀已久了 從記事起就有這個打算 那時候還是長者的天下 可現在說變就變了大大 八歲時家里還養青蛙 可是沒有...
    北燕_閱讀 304評論 0 1
  • 1.函數的柯里化定義 創建已經設置好一個或多個參數的函數,基本方法是使用一個閉包返回一個函數。 2.經典面試題 實...
    星月西閱讀 800評論 0 0
  • 今天微信圈看了個故事,講的是撿破爛的媽媽為了讓女兒讀書,不惜多次賣血籌錢,為了不讓女兒擔心最后逝世也沒見女兒最后一...
    蘇曉_閱讀 247評論 0 0
  • 我記得在小學的時候讀過一篇童話。 有一只兔子很膽小,經常被欺負。有一天好朋友刺猬說,來,我把我這件堅硬的外套借給你...
    醉翁之意_966e閱讀 247評論 0 0