成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

《JavaScript Dom編程藝術(shù)》讀書筆記(四)

JellyBool / 2816人閱讀

摘要:事實(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

相關(guān)文章

  • JavaScript Dom編程藝術(shù)讀書筆記(三)

    摘要:也就是說(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ǔ)句非...

    xbynet 評(píng)論0 收藏0
  • JavaScript Dom編程藝術(shù)讀書筆記(二)

    摘要:邏輯非操作符只能作用于單個(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)(=)、加...

    caspar 評(píng)論0 收藏0
  • JavaScript Dom編程藝術(shù)讀書筆記(二)

    摘要:邏輯非操作符只能作用于單個(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)(=)、加...

    xingpingz 評(píng)論0 收藏0
  • JavaScript Dom編程藝術(shù)讀書筆記(二)

    摘要:邏輯非操作符只能作用于單個(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)(=)、加...

    Aceyclee 評(píng)論0 收藏0
  • JavaScript Dom編程藝術(shù)讀書筆記(一)

    摘要:下面這條語(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)簽之間: ...

    lewinlee 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<