工業(yè)UI開發(fā)技術(shù)-課件 2-3-8 函數(shù)定義和調(diào)用_第1頁
工業(yè)UI開發(fā)技術(shù)-課件 2-3-8 函數(shù)定義和調(diào)用_第2頁
工業(yè)UI開發(fā)技術(shù)-課件 2-3-8 函數(shù)定義和調(diào)用_第3頁
工業(yè)UI開發(fā)技術(shù)-課件 2-3-8 函數(shù)定義和調(diào)用_第4頁
工業(yè)UI開發(fā)技術(shù)-課件 2-3-8 函數(shù)定義和調(diào)用_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論