摘要:事實(shí)上,每個(gè)函數(shù)實(shí)際是一個(gè)短小的腳本。先對(duì)函數(shù)做出定義再調(diào)用是一個(gè)良好的編程習(xí)慣??梢詫⒉煌臄?shù)據(jù)傳遞給它們,而它們將使用這些數(shù)據(jù)去完成預(yù)定的操作。傳遞給函數(shù)的數(shù)據(jù)稱為參數(shù)。這個(gè)例子中,變量的值將是,這個(gè)數(shù)值由函數(shù)返回。
函數(shù)
如果需要多次使用同一段代碼,可以把它們封裝成一個(gè)函數(shù)。函數(shù)就是一組允許在你的代碼里隨時(shí)調(diào)用的語(yǔ)句。事實(shí)上,每個(gè)函數(shù)實(shí)際是一個(gè)短小的腳本。
先對(duì)函數(shù)做出定義再調(diào)用是一個(gè)良好的編程習(xí)慣。下面是一個(gè)簡(jiǎn)單的示例函數(shù):
function shout() { var beatles = Array("John","Paul","George","Ringo"); for (var count = 0; count < beatles.length; count++ ) { alert(beatles[count]); } }
這個(gè)函數(shù)里的循環(huán)語(yǔ)句將依次彈出對(duì)話框來(lái)顯示Beatles樂(lè)隊(duì)成員的名字。如果想在自己的腳本里執(zhí)行這一動(dòng)作,可以隨時(shí)使用如下的語(yǔ)句來(lái)調(diào)用這個(gè)函數(shù):
shout();
每當(dāng)需要反復(fù)做一件事,都可以利用函數(shù)來(lái)避免重復(fù)鍵入大量的相同內(nèi)容。可以將不同的數(shù)據(jù)傳遞給它們,而它們將使用這些數(shù)據(jù)去完成預(yù)定的操作。傳遞給函數(shù)的數(shù)據(jù)稱為參數(shù)(argument)。
定義一個(gè)函數(shù)的語(yǔ)法:
function name(arguments) { statements; }
JavaScript提供了許多內(nèi)建函數(shù),在前面多次出現(xiàn)過(guò)的alert就是一例。這個(gè)函數(shù)需要我們提供一個(gè)參數(shù),它將彈出一個(gè)對(duì)話框來(lái)顯示這個(gè)參數(shù)的值。
在定義函數(shù)時(shí),可以為它聲明任意多個(gè)參數(shù),只要用逗號(hào)把它們分隔開來(lái)就行。在函數(shù)額內(nèi)部,你可以像使用普通變量那樣使用它的任何一個(gè)參數(shù)。
下面是一個(gè)需要傳遞兩個(gè)參數(shù)的函數(shù)。如果把兩個(gè)數(shù)值傳遞給這個(gè)函數(shù),這個(gè)函數(shù)將對(duì)它們進(jìn)行乘法運(yùn)算:
function multiply(num1,num2) { vartotal = num1 * num2; alert(total); }
在定義了這個(gè)函數(shù)的腳本里,我們可以從任意位置去調(diào)用這個(gè)函數(shù),如下所示:
multiply(10,2);
屏幕上會(huì)立刻彈出一個(gè)顯示乘法運(yùn)算結(jié)果(20)的alert對(duì)話框。函數(shù)不僅能夠(以參數(shù)的形式)接收數(shù)據(jù),還能夠返回?cái)?shù)據(jù)。
可以創(chuàng)建一個(gè)函數(shù)并讓它返回一個(gè)數(shù)值、一個(gè)字符串、一個(gè)數(shù)組或一個(gè)布爾值。這需要用到return語(yǔ)句:
function multiply(num1,num2) { var total = num1 * num2; return total; }
下面這個(gè)函數(shù)只有一個(gè)參數(shù)(一個(gè)華氏溫度值),它將返回一個(gè)數(shù)值(同一溫度的攝氏溫度值):
function converToCelsius(temp) { var result = temp - 32; result = result / 1.8; return result; }
還可以把函數(shù)當(dāng)做一種數(shù)據(jù)類型來(lái)使用,這意味著可以把一個(gè)函數(shù)的調(diào)用結(jié)果賦給一個(gè)變量:
var temo_fahrenheit = 95; var temp_celsius = convertToCelsius(temp_fahrenheit); alert(temp_celsius);
把華氏溫度值95轉(zhuǎn)換為攝氏溫度值。這個(gè)例子中,變量temp_celsius的值將是35,這個(gè)數(shù)值由convertToCelsius函數(shù)返回。
變量的作用域比如下面這個(gè)例子:
function square(num) { total = num * num; return total; } var total = 50; var number = square(20); alert(total);
全局變量total的值變成了400。本意是讓square()函數(shù)只把它計(jì)算出來(lái)的平方值返回給變量number,但因?yàn)槲窗堰@個(gè)函數(shù)內(nèi)部的total變量明確地聲明為局部變量,這個(gè)函數(shù)把名字同樣是total的那個(gè)全局變量的值也改變了。
把這個(gè)函數(shù)寫成如下所示的樣子才是正確的:
function square(num) { var total = num * num; return total; }
現(xiàn)在,全局變量total變得安全了,再怎么調(diào)用square()函數(shù)也不會(huì)影響到它、
請(qǐng)記住,函數(shù)在行為方面應(yīng)該像一個(gè)自給自足的腳本,在定義一個(gè)函數(shù)式,一定要把它內(nèi)部的變量全部明確地聲明為局部變量。如果你總是在函數(shù)里使用var關(guān)鍵字來(lái)定義變量,就能避免任何形式的二次定義隱患。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/79560.html
摘要:也就是說(shuō),仍將看到一條消息。這些語(yǔ)句執(zhí)行完畢后,變量的值將是,盡管循環(huán)控制條件的求值結(jié)果是。循環(huán)最常見的用途之一是對(duì)某個(gè)數(shù)組里的全體元素進(jìn)行遍歷處理。變量對(duì)于數(shù)組中每個(gè)元素都是從開始按遞增。 循環(huán)語(yǔ)句 if語(yǔ)句唯一的不足是無(wú)法完成重復(fù)性的操作。在if語(yǔ)句里,包含在花括號(hào)里的代碼塊只能執(zhí)行一次。如果需要多次執(zhí)行同一個(gè)代碼塊,就必須使用循環(huán)語(yǔ)句。 while循環(huán) while循環(huán)與if語(yǔ)句非...
摘要:邏輯非操作符只能作用于單個(gè)邏輯操作數(shù),其結(jié)果是把那個(gè)邏輯操作數(shù)所返回的布爾值取反。如果那個(gè)邏輯操作數(shù)所返回的布爾值是,邏輯非操作符將把它取反為為了避免產(chǎn)生歧義,上面這條語(yǔ)句把邏輯操作數(shù)放在了括號(hào)里,使邏輯非操作符作用于括號(hào)里的所有內(nèi)容。 算術(shù)操作符 加減乘除這些算術(shù)操作中的每一種都必須借助于相應(yīng)的操作符才能完成。操作符是JavaScript為完成各種操作而定義的一些符號(hào)。等號(hào)(=)、加...
摘要:邏輯非操作符只能作用于單個(gè)邏輯操作數(shù),其結(jié)果是把那個(gè)邏輯操作數(shù)所返回的布爾值取反。如果那個(gè)邏輯操作數(shù)所返回的布爾值是,邏輯非操作符將把它取反為為了避免產(chǎn)生歧義,上面這條語(yǔ)句把邏輯操作數(shù)放在了括號(hào)里,使邏輯非操作符作用于括號(hào)里的所有內(nèi)容。 算術(shù)操作符 加減乘除這些算術(shù)操作中的每一種都必須借助于相應(yīng)的操作符才能完成。操作符是JavaScript為完成各種操作而定義的一些符號(hào)。等號(hào)(=)、加...
摘要:邏輯非操作符只能作用于單個(gè)邏輯操作數(shù),其結(jié)果是把那個(gè)邏輯操作數(shù)所返回的布爾值取反。如果那個(gè)邏輯操作數(shù)所返回的布爾值是,邏輯非操作符將把它取反為為了避免產(chǎn)生歧義,上面這條語(yǔ)句把邏輯操作數(shù)放在了括號(hào)里,使邏輯非操作符作用于括號(hào)里的所有內(nèi)容。 算術(shù)操作符 加減乘除這些算術(shù)操作中的每一種都必須借助于相應(yīng)的操作符才能完成。操作符是JavaScript為完成各種操作而定義的一些符號(hào)。等號(hào)(=)、加...
摘要:下面這條語(yǔ)句將導(dǎo)致語(yǔ)法錯(cuò)誤變量名允許包含字母數(shù)字美元符號(hào)和下劃線但第一個(gè)字符不允許是數(shù)字??梢园岩恍┎紶栔荡嫒胍粋€(gè)數(shù)組,還可以把一組數(shù)值存入一個(gè)數(shù)組甚至可以把這種數(shù)據(jù)類型混在一起存入一個(gè)數(shù)組數(shù)組元素還可以是變量這將把數(shù)組的第一個(gè)元素賦值為。 執(zhí)行Javascript的方式 第一種方式是將JS代碼放到 < head > 標(biāo)簽中的 < script > 標(biāo)簽之間: ...
閱讀 1219·2021-09-30 09:47
閱讀 3774·2021-09-06 15:02
閱讀 1786·2021-09-01 10:46
閱讀 2369·2019-08-30 15:52
閱讀 603·2019-08-29 15:28
閱讀 1875·2019-08-29 15:08
閱讀 1159·2019-08-29 13:28
閱讀 2582·2019-08-29 12:19