版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
函數(shù)定義和調(diào)用深圳市信息職業(yè)技術(shù)學(xué)院函數(shù)定義01目
錄0203函數(shù)表達(dá)式閉包04call05apply本節(jié)目標(biāo)
通過對(duì)JavaScript的基本語法的介紹,掌握J(rèn)avaScript的語法。通過實(shí)訓(xùn)案例的講解掌握流程控制,類與對(duì)象,DOM編程等內(nèi)容。最后通過任務(wù)實(shí)施完成JavaScript的全面掌握與靈活運(yùn)用。通過本節(jié)學(xué)習(xí)可以:掌握J(rèn)avaScript的基本語法掌握J(rèn)avaScript的流程控制掌握J(rèn)avaScript類與對(duì)象的概念掌握J(rèn)avaScript的DOM編程掌握ES6標(biāo)準(zhǔn)01函數(shù)定義函數(shù)函數(shù)是一個(gè)可重用的代碼塊,用來完成某個(gè)特定功能。每當(dāng)需要反復(fù)執(zhí)行一段代碼時(shí),可以利用函數(shù)來避免重復(fù)書寫相同代碼。函數(shù)包含著的代碼只能在函數(shù)被調(diào)用時(shí)才會(huì)執(zhí)行,就可以避免頁面載入時(shí)執(zhí)行該腳本在JavaScript中,可以使用以下三種方法來定義一個(gè)函數(shù)
使用function語句定義函數(shù)
使用Function()構(gòu)造函數(shù)來定義函數(shù)
在表達(dá)式中定義函數(shù)Function定義function函數(shù)名(參數(shù)1,參數(shù)2……[形參]){ <語句塊> return返回值}function關(guān)鍵字:用于定義一個(gè)函數(shù)函數(shù)名:函數(shù)名通常是一個(gè)合法的標(biāo)識(shí)符,是唯一的,區(qū)分大小寫的參數(shù):在函數(shù)里,可以有0個(gè)或者多個(gè)參數(shù)。如果有多個(gè)參數(shù),參數(shù)與參數(shù)之間要用逗號(hào)隔開。無論函數(shù)是否有參數(shù),小括號(hào)必需要有函數(shù)體:用大括號(hào)括起來的代碼塊,即函數(shù)的主體返回值:函數(shù)返回的值由關(guān)鍵字return完成,可選項(xiàng)構(gòu)造函數(shù)定義在JavaScript中,可以使用Function()構(gòu)造函數(shù)來定義函數(shù),語法結(jié)構(gòu)如下 var函數(shù)名=newFunction(“參數(shù)1”,”參數(shù)2”,”參數(shù)3”……”函數(shù)體”);在使用Function()構(gòu)造函數(shù)的時(shí)候,第一個(gè)字母要大寫每次調(diào)用構(gòu)造函數(shù)時(shí)都會(huì)解析函數(shù)體,并且創(chuàng)建一個(gè)新的函數(shù)對(duì)象,效率非常底Function()構(gòu)造函數(shù)只能在JavaScript1.1或更高版本中使用var函數(shù)名=newFunction("x","y","varz=x+y;returnz;");在表達(dá)式中直接定義函數(shù)語法:var函數(shù)名=function(參數(shù)1,參數(shù)2,…){函數(shù)體};
在表達(dá)式中定義函數(shù)的方法只能在JS1.2版本或以上版本中使用
函數(shù)名()
函數(shù)名/變量名varrightKey=function(){if(event.button==2){alert("禁止使用鼠標(biāo)右鍵");}}window.onmousedown=rightKey;函數(shù)調(diào)用1.直接調(diào)用2.事件處理中調(diào)用3.將函數(shù)的返回值賦給變量myFunction();或window.myFunction()<divonclick=“myFunction()”></div>vart=myFunction();函數(shù)的參數(shù)1.JavaScript中的函數(shù)允許給行參賦初始值2.傳遞的參數(shù)個(gè)數(shù)與函數(shù)定義好的參數(shù)個(gè)數(shù)可以不匹配,當(dāng)不匹配時(shí):
如果傳遞的參數(shù)個(gè)數(shù)小于函數(shù)定義的參數(shù)個(gè)數(shù),JavaScript會(huì)自動(dòng)將多余的參數(shù)值設(shè)為undefined;
如果傳遞的參數(shù)個(gè)數(shù)大于函數(shù)定義的參數(shù)個(gè)數(shù),那么多余傳遞的參數(shù)將會(huì)被忽略掉。函數(shù)的返回值return語句并不是必須的默認(rèn)情況下,函數(shù)的返回值為undefined在使用return語句時(shí),函數(shù)會(huì)停止執(zhí)行,并返回指定的值。注意:整個(gè)JavaScript并不會(huì)停止執(zhí)行,僅僅是函數(shù)。JavaScript將繼續(xù)執(zhí)行代碼,從調(diào)用函數(shù)的地方。functionmyFunction(){varx=5;returnx;}02函數(shù)表達(dá)式函數(shù)表達(dá)式IIFE:ImmediatelyInvokedFunctionExpression,意為立即調(diào)用的函數(shù)表達(dá)式,也就是說,聲明函數(shù)的同時(shí)立即調(diào)用這個(gè)函數(shù)。(functionfoo(){vara=10;console.log(a);})();03閉包什么是閉包能夠訪問另一個(gè)函數(shù)作用域的變量的函數(shù)。能夠?qū)崿F(xiàn)跨域調(diào)用變量。它的最大用處有兩個(gè),一個(gè)是前面提到的可以讀取函數(shù)內(nèi)部的變量,另一個(gè)就是讓這些變量的值始終保持在內(nèi)存中。閉包的缺點(diǎn)由于閉包會(huì)使得函數(shù)中的變量都被保存在內(nèi)存中,內(nèi)存消耗很大,所以不能濫用閉包閉包會(huì)在父函數(shù)外部,改變父函數(shù)內(nèi)部變量的值。所以,如果你把父函數(shù)當(dāng)作對(duì)象(object)使用,把閉包當(dāng)作它的公用方法(PublicMethod),把內(nèi)部變量當(dāng)作它的私有屬性(privatevalue),這時(shí)一定要小心,不要隨便改變父函數(shù)內(nèi)部變量的值。04callcallcall()可以修改函數(shù)內(nèi)部this的指向,使用call()的時(shí)候參數(shù)1是修改后的this指向,語法如下:
函數(shù).call(對(duì)象,參數(shù)1,參數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 感光專用藥液配制工崗前深度考核試卷含答案
- 海洋生物調(diào)查員安全實(shí)踐能力考核試卷含答案
- 電子專用設(shè)備裝調(diào)工成果能力考核試卷含答案
- 印花機(jī)擋車工安全理論評(píng)優(yōu)考核試卷含答案
- 湖鹽脫水工風(fēng)險(xiǎn)識(shí)別競(jìng)賽考核試卷含答案
- 統(tǒng)編版選擇性必修1第8課 中國古代的法治與教化同步測(cè)試
- 2026北京協(xié)和醫(yī)院內(nèi)科ICU合同制科研助理招聘?jìng)淇碱}庫及完整答案詳解
- 醫(yī)學(xué)導(dǎo)論:慢性腎小球腎炎課件
- 老年護(hù)理模擬的生活照護(hù)能力自我反思
- 老年慢性病營養(yǎng)支持方案的優(yōu)化效果
- 英語詞根詞綴詞匯教學(xué)全攻略
- T-GDDWA 001-2023 系統(tǒng)門窗應(yīng)用技術(shù)規(guī)程
- 鋁業(yè)廠房建設(shè)項(xiàng)目施工組織方案
- 25年軍考數(shù)學(xué)試卷及答案
- 消毒供應(yīng)中心風(fēng)險(xiǎn)評(píng)估與改進(jìn)措施
- 污水處理廠設(shè)備預(yù)防性維護(hù)方案
- 浙江省寧波市2024-2025學(xué)年第二學(xué)期期末九校聯(lián)考高二英語試題(含答案)
- 藥品庫房管理培訓(xùn)
- 低壓作業(yè)實(shí)操科目三安全隱患圖片題庫
- 面部血管解剖講解
- 2025年江西省人民警察錄用考試《公安基礎(chǔ)知識(shí)》真題及詳解
評(píng)論
0/150
提交評(píng)論