cr基礎(chǔ)php培訓(xùn)js3day函數(shù)將一些代碼集合起來(lái)形成一個(gè)具有一定功能可以重復(fù)利用的_第1頁(yè)
cr基礎(chǔ)php培訓(xùn)js3day函數(shù)將一些代碼集合起來(lái)形成一個(gè)具有一定功能可以重復(fù)利用的_第2頁(yè)
cr基礎(chǔ)php培訓(xùn)js3day函數(shù)將一些代碼集合起來(lái)形成一個(gè)具有一定功能可以重復(fù)利用的_第3頁(yè)
cr基礎(chǔ)php培訓(xùn)js3day函數(shù)將一些代碼集合起來(lái)形成一個(gè)具有一定功能可以重復(fù)利用的_第4頁(yè)
cr基礎(chǔ)php培訓(xùn)js3day函數(shù)將一些代碼集合起來(lái)形成一個(gè)具有一定功能可以重復(fù)利用的_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、函數(shù)一:定義函數(shù)函數(shù):將一些代碼集合起來(lái),形成一個(gè)具有一定功能可以重復(fù)利用的代碼塊1.基本形式:function 為定義函數(shù)的關(guān)鍵字function 函數(shù)名 (形參列表) 函數(shù)體return-以后再寫(xiě)其他語(yǔ)法結(jié)構(gòu)時(shí)“ ”里面的內(nèi)容表示可有可無(wú)2.變量引用形式var 函數(shù)名=function(形參列表)函數(shù)體return3.調(diào)用函數(shù)函數(shù)名(實(shí)參列表)形參:在函數(shù)聲明的時(shí)候定義的變量,它是局部變量實(shí)參:在函數(shù)調(diào)用時(shí)傳入的實(shí)際值,相當(dāng)于給形參一一賦值4.return說(shuō)明return:給函數(shù)一個(gè)返回值。1、return的使用,為了把函數(shù)產(chǎn)生的結(jié)果,返回給外部進(jìn)行使用2、一個(gè)函數(shù)只能有一個(gè)返回值,但re

2、turn可以有多個(gè)(比如:函數(shù)中有if語(yǔ)句,就有可能會(huì)有多個(gè)return )3、return 只能用在函數(shù)內(nèi)部4、return 具有終止函數(shù)繼續(xù)向下執(zhí)行的功能舉例:1定義一個(gè)沒(méi)有形參函數(shù)function fn1() alert(11);fn1();var fn1=function() alert(11);fn1();2.定義有一個(gè)形參的函數(shù)function fn2(a) alert(a);fn2(12);舉例:寫(xiě)一個(gè)函數(shù)計(jì)算任意兩個(gè)數(shù)之和function fn2(a,b) document.write(a+b) ; 第一種直接輸出不給returnfn2(10,2);function fn2(a

3、,b) return (a+b) ; 第二種給函數(shù)一個(gè)返回值,但是沒(méi)輸出功 能 document.write(fn1(10,2);舉例.封裝一個(gè)函數(shù),返回兩個(gè)數(shù)中最大的數(shù)function fn2(a,b) if(ab)return a; return b;alert(fn2(1,4);5.形參和實(shí)參說(shuō)明:1.在js中,函數(shù)的形參個(gè)數(shù)和實(shí)參個(gè)數(shù)可以不相同形參個(gè)數(shù)實(shí)參個(gè)數(shù):會(huì)從左到右為形參賦值,沒(méi)有賦值的,則其值為undefined實(shí)參個(gè)數(shù)形參個(gè)數(shù):會(huì)從左到右為形參賦值,如果要獲取多余的實(shí)參,用arguments下標(biāo),第一個(gè)實(shí)參下標(biāo)為0,依次遞增2.arguments-是一個(gè)實(shí)參組成的數(shù)組argu

4、ments.length:獲得實(shí)參的個(gè)數(shù)舉例.1.寫(xiě)一個(gè)有2個(gè)形參的函數(shù)function js(m,n)alert(m是+m+,n是+n)js(20,10);js(20);js(20,10,30);-通過(guò)修改函數(shù)體,形參不變的情況下這樣獲得第三個(gè)實(shí)參?arguments下標(biāo)2.寫(xiě)一函數(shù)彈出實(shí)參個(gè)數(shù)function js1() alert(arguments.length)js1(1,2,3)舉例1寫(xiě)一個(gè)函數(shù)(3個(gè)形參),當(dāng)實(shí)參個(gè)數(shù)與形參不等時(shí),彈一個(gè)對(duì)話框提示參數(shù)不符合要求,當(dāng)相等時(shí),給函數(shù)返回實(shí)參之和,var fn2 = function(a,b,c) if(arguments.length

5、=3) return document.write(a+b+c); else alert(實(shí)參個(gè)數(shù)不符合要求) fn2(1,2);fn2(1,2,3);fn2();舉例:封裝一個(gè)函數(shù),不論給幾個(gè)實(shí)參都能輸出他們之和。function fn2 () var sum=0; for(var i=0;iarguments.length;i+) sum+=argumentsi; return sum;alert(fn2(10,2,3)練習(xí):1.封裝一個(gè)函數(shù),給兩個(gè)參數(shù)分別代表寬和高,判斷他們是正方形還是長(zhǎng)方形,并計(jì)算其,周長(zhǎng),面積,再頁(yè)面上輸出結(jié)果2.編寫(xiě)一個(gè)計(jì)算面積的函數(shù), 如果只傳入一個(gè)參數(shù),計(jì)算圓

6、的面積;-取3.14 如果傳入兩個(gè)參數(shù),計(jì)算矩形的面積; 如果傳入三個(gè)參數(shù),計(jì)算立方體的表面積。二:全局變量和局部變量1.全局變量:在函數(shù)外部聲明變量叫全局變量,可以在函數(shù)內(nèi)部使用,其作用域在整個(gè)文檔中的js代碼中。2.局部變量:在函數(shù)內(nèi)部使用var聲明的變量,就是局部變量,它只能在該函數(shù)內(nèi)部使用,當(dāng)然函數(shù)的形參都是局部變量注意:1.如果在函數(shù)內(nèi)部有一個(gè)局部變量和全局變量同名,那么在函數(shù)內(nèi)訪問(wèn)的時(shí)候,首先訪問(wèn)的是局部變量;如果要訪問(wèn)全局變量,則需要使用:window.全局變量名來(lái)獲取2.在函數(shù)內(nèi)部聲明的局部變量會(huì)聲明提前.舉例:能不能再函數(shù)外面訪問(wèn)局部變量var c=10;function f

7、n1(a,b) var sum=a+b; c=sum+c; return sum;alert(fn1(1,2);alert(a);alert(c);alert(b);alert(sum);思考:為什么結(jié)果值彈出一個(gè)3呢?按理說(shuō)c是全局變量,應(yīng)該可以彈一個(gè)c的值如要把a(bǔ)lert(c)放在alert(fn1(1,2)后面又是什么結(jié)果呢?三、關(guān)于兩種聲明函數(shù)方式的比較基本形式 :function 函數(shù)名()引用形式:var 函數(shù)名=function()1、以相同形式聲明的同名函數(shù),總是后聲明的覆蓋先聲明2、以基本形式聲明的函數(shù)會(huì)提前加載到內(nèi)存中,以備使用;以引用形式聲明的函數(shù),總是在代碼執(zhí)行到的時(shí)候

8、才會(huì)加載。因此,以引用形式聲明的同名函數(shù),總是會(huì)覆蓋以基本形式聲明的同名函數(shù)3、以基本形式聲明的函數(shù),可以在函數(shù)聲明之前進(jìn)行調(diào)用,但是引用形式聲明的函數(shù)只能在函數(shù)聲明之后才可以調(diào)用(舉例)4、函數(shù)的調(diào)用時(shí)可以跨標(biāo)簽調(diào)用的,但是在跨調(diào)用的時(shí)候,必須在前面的標(biāo)簽對(duì)中聲明,才可以在后邊進(jìn)行調(diào)用(舉例)舉例:覆蓋問(wèn)題var sum=function() -1alert(11)function sum()-2alert(22)sum();var sum=function() -先覆蓋上面1,然后因?yàn)樗且眯?式,所以又覆蓋2alert(33)sum()舉例:調(diào)用位置問(wèn)題一fn1();-會(huì)報(bào)錯(cuò)不執(zhí)行下面

9、語(yǔ)句var fn1=function()alert(11)fn1();二fn1();var fn1=function()alert(11)function fn1()alert(22)fn1();四:匿名函數(shù)1.js中沒(méi)有函數(shù)名的函數(shù)就是匿名函數(shù)。那沒(méi)有函數(shù)名有怎么調(diào)用他,執(zhí)行函數(shù)體呢?2.匿名函數(shù)的寫(xiě)法很多,大家掌握三種1.(function(形參列表)函數(shù)體(實(shí)參列表)2.(function(形參列表)函數(shù)體)(實(shí)參列表)3.function(形參列表)函數(shù)體(實(shí)參列表)以上三種寫(xiě)法,直接調(diào)用匿名函數(shù),然后執(zhí)行函數(shù)體舉例:匿名函數(shù)的運(yùn)用(function(x,y) alert(x+y)(3

10、,4)(function(x) x=x-1; alert(x)(9)function(x,y) alert(x+y) return x+y(3,4)Math對(duì)象 Math對(duì)象是為完成數(shù)學(xué)運(yùn)算而預(yù)定義的對(duì)象,該對(duì)象所有的屬性和方法都是靜態(tài)的,可以直接使用,不需要對(duì)其進(jìn)行創(chuàng)建1.調(diào)用Math對(duì)象屬性和方法。Math.屬性名Math.方法名()2.Math對(duì)象的屬性:1.E 返回算術(shù)常量 e,即自然對(duì)數(shù)的底數(shù)(約等于2.718)。 2.PI 返回圓周率(約等于3.14159)。Math.PI3.SQRT2 返回 2 的平方根(約等于 1.414)。 4.SQRT1_2 返回 2 的平方根的倒數(shù)(約等

11、于 0.707)。 注意:1.Math首字母要大寫(xiě),以后我還有學(xué)String對(duì)象Date對(duì)象。2.調(diào)用屬性和方法時(shí)要在Math后面加“.”3.怎么判斷是屬性函數(shù)方法,看Math.名字后面有沒(méi)有()。見(jiàn)到括號(hào)就說(shuō)明一點(diǎn)是方法,沒(méi)有就是屬性舉例:document.write(Math.PI+);document.write(Math.E+);document.write(Math.SQRT2+);document.write(Math.SQRT1_2+);3.Math對(duì)象的方法:1abs(x) 返回?cái)?shù)的絕對(duì)值。 2.max(x1,x2,xn) 返回 所有數(shù)字中最大值。 3.min(x1,x2,xn

12、) 返回 所有數(shù)字中最小值 4.pow(x,y) 返回 x 的 y 次冪。 5.sqrt(x) 返回?cái)?shù)的平方根 6.round(x) 把數(shù)四舍五入為最接近的整。7.ceil(x) 對(duì)數(shù)進(jìn)行向上取整 .取大整數(shù)8.floor(x) 對(duì)數(shù)進(jìn)行向下取整.取小整數(shù)9.random() 返回 0 1 之間的隨機(jī)數(shù)。 不包括0,1;不給參數(shù)舉例:Math對(duì)象的方法document.write(Math.abs(-10)+);document.write(Math.max(10,20,33,12)+);document.write(Math.min(10,20,0,-2)+);document.write(

13、Math.sqrt(4)+);document.write(Math.pow(8,2)+);document.write(Math.pow(8,1/3)+);document.write(Math.pow(2,4) + )document.write(Math.pow(-2,4) + )舉例:取整var a = 1.4;var b = 1.6;alert(Math.ceil(a) + 、 + Math.ceil(b); /取大整數(shù),只入不舍。alert(Math.floor(a) + 、 + Math.floor(b); /取小整數(shù),只舍不入。/alert(Math.round(a) + 、

14、+ Math.round(b); /四舍五入,0.5取大。document.write(Math.round(-5.73)+);document.write(Math.floor(-5.999)+);document.write(Math.ceil(-5.0000003)+);document.write(Math.random();舉例:1.在頁(yè)面中輸出一個(gè)0-9之間的隨機(jī)數(shù),包括0,9document.write(Math.floor( Math.random()*10)2.在頁(yè)面輸出10個(gè)0-1之間的隨機(jī)數(shù)for(var i=1;i=10;i+) document.write(Math.

15、random()+)4.給Math對(duì)象自定義屬性和方法1.自定義屬性:Math.自定義屬性名=自定義屬性值;-因?yàn)镸ath對(duì)象是處理數(shù)字的所有屬性值我們最好給數(shù)字如:Math.abc=88;調(diào)用:Math.自定義屬性名-alert(Math.abc)2.自定義方法其實(shí)對(duì)象中的方法都是函數(shù),所以自定義方法相當(dāng)于在封裝一個(gè)函數(shù)Math.方法名=function(形參列表)函數(shù)體舉例:1.寫(xiě)一個(gè)方法,求兩個(gè)數(shù)的平均數(shù)Math.pj=function(a,b) return (a+b)/2alert(Math.pj(10,2)2.將一個(gè)不確定小數(shù)位數(shù)的數(shù)轉(zhuǎn)換成需要保留固定位數(shù)的小數(shù)。Math.toFloat(num1,num2); Math.toFloat(3.12556,3); -3.13/num1是一個(gè)不確定小數(shù)位數(shù)的數(shù),num2是需要保留的小數(shù)位數(shù)。返回值是num1保留個(gè)num2位小數(shù)的數(shù)。Math.toFloat = function(num1,num2) var i = Math.pow(10,num2);/1000 var n= Math.round(num1*i)/3125.56-

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論