国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

JavaScript語(yǔ)句的一些注意要點(diǎn)

趙連江 / 2248人閱讀

摘要:語(yǔ)句規(guī)定了一組語(yǔ)句也被成為流控制語(yǔ)句語(yǔ)句大多數(shù)編程語(yǔ)言中最為常用的一個(gè)語(yǔ)句就是語(yǔ)句。語(yǔ)句語(yǔ)句是一種精準(zhǔn)的迭代語(yǔ)句。語(yǔ)句該語(yǔ)句的作用是將代碼的作用域設(shè)置到一個(gè)特定的對(duì)象中。

語(yǔ)句

ECMA-262 規(guī)定了一組語(yǔ)句(也被成為流控制語(yǔ)句)

if 語(yǔ)句

大多數(shù)編程語(yǔ)言中最為常用的一個(gè)語(yǔ)句就是if 語(yǔ)句。語(yǔ)法如下:

if (condition1) {
    statement1;
} else if (condition2) {
    statement2;
} else {
    statement3;
}

舉個(gè)例子:

var num = 10;
if (num > 50) {
    document.write("bigger than 50")
} else if (num < 0) {
    document.write("smaller than 0")
} else {
    document.write("between 0 and 50")
} //"between 0 and 50"
do-while 語(yǔ)句

這是一個(gè)后測(cè)試循環(huán)語(yǔ)句;只有在循環(huán)體中的代碼執(zhí)行以后,才會(huì)測(cè)試出口條件。

do {
    statement;
} while (expression);

舉個(gè)例子:

var i = 0;
do {
    document.write("the number is " + i + "
"); i++; } while (i < 10);
while 語(yǔ)句

這是一個(gè)前測(cè)試循環(huán)語(yǔ)句;在循環(huán)體中的代碼執(zhí)行以前,就會(huì)測(cè)試出口條件。

while (expression) statement

舉個(gè)例子:

var i = 0;
while (i <= 10) {
    document.write(i + " ");
    i++
} //0 1 2 3 4 5 6 7 8 9 10
for 語(yǔ)句

這是一個(gè)前測(cè)試循環(huán)語(yǔ)句;在循環(huán)體中的代碼執(zhí)行以前,就會(huì)測(cè)試出口條件。

for (initialization; expression; post-loop-expression) statement

舉個(gè)例子:

for (var i = 0; i < 11; i ++) {
    document.write(i + " ")
} //0 1 2 3 4 5 6 7 8 9 10

使用while 語(yǔ)句做不到的,用for 語(yǔ)句也做不到。

由于ECMAScript 中不存在塊級(jí)作用域,因此在循環(huán)內(nèi)部定義的變量也可以在外部訪問(wèn)到。

for-in 語(yǔ)句

for-in 語(yǔ)句是一種精準(zhǔn)的迭代語(yǔ)句。可以用來(lái)枚舉對(duì)象的屬性。

語(yǔ)法如下:

for (property in expression) statement

下面是示例:

var cars = new Array;
cars = ["benz","BMW"];
for (x in cars){
    document.write(cars[x] + " ")
} //benz BMW

通過(guò)for-in 語(yǔ)句循環(huán)輸出的屬性名的順序是不可預(yù)測(cè)的。如果表示要迭代的對(duì)象的變量值為null 或undefined,for-in 語(yǔ)句會(huì)拋出錯(cuò)誤。因此建議在使用for-in 循環(huán)之前,先檢測(cè)對(duì)象的值是不是null 或undefined。

label 語(yǔ)句

使用label 語(yǔ)句可以在代碼中添加標(biāo)簽,以便在將來(lái)使用。語(yǔ)法如下:

label: statement

下面是例子:

start: for (var i = 0; i < 5; i ++){
    document.write(i + " ");
    if (i == 2){
    }
} //0 1 2 3 4
break 和continue 語(yǔ)句

雖然,兩個(gè)語(yǔ)句都是會(huì)導(dǎo)致立即退出循環(huán)。但break 會(huì)強(qiáng)制繼續(xù)執(zhí)行循環(huán)后面的語(yǔ)句;而continue 則會(huì)退出循環(huán)后從循環(huán)的頂部繼續(xù)執(zhí)行。舉個(gè)例子:

var num = 0;
for (var i = 1; i < 7; i ++){
    num ++;
}
document.write(num + "
"); //num 初始值為0,循環(huán)體執(zhí)行了6次,每次num + 1,結(jié)果是num = 0 + 6為6 var num = 0; for (var i = 1; i < 7; i ++){ if (i % 5 == 0){ break; } num ++; } document.write(num + "
"); //num 初始值為0,循環(huán)體執(zhí)行了4次,每次num + 1,結(jié)果是num = 0 + 4為4(當(dāng)i = 5時(shí)退出循環(huán)) var num = 0; for (var i = 1; i < 7; i ++){ if (i % 5 == 0){ continue; } num ++; } document.write(num + "
"); //num 初始值為0,循環(huán)體支行了5次,媒體num + 1,結(jié)果是num = 0 + 5為5(當(dāng)i = 5時(shí)退出循環(huán),從循環(huán)的頂端繼續(xù)執(zhí)行)

另外,break 和continue 語(yǔ)句都可以與label 語(yǔ)句聯(lián)合使用。如:

var num = 0;
outermost:
for (var i = 0; i < 10; i ++){
    for (var j = 0; j < 10; j ++){
        if (i == 5 && j == 5){
            break outermost;
        }
        num ++;
    }
}
document.write(num); //55 正常情況下應(yīng)該是i 從0 - 9有10種可能,j 從0 - 9也有10種可能,一共是10 * 10 = 100種可能,即該循環(huán)會(huì)執(zhí)行100次。
//當(dāng)i = 5同時(shí)j = 5時(shí)停止循環(huán),實(shí)際上循環(huán)了55 次(i = 0時(shí),j有10種可能,即10次循環(huán);i = 1、2、3、4時(shí),也有10種可能,一共加起來(lái)則有50次,最后加上i=5時(shí)的5次,共55次),num則為55。
var num = 0;
outermost:
for (var i = 0; i < 10; i ++){
    for (var j = 0; j < 10; j ++){
        if (i == 5 && j == 5){
            continue outermost;
        }
        num ++;
    }
}
document.write(num); //95
//當(dāng)i = 5時(shí)且j = 5時(shí),將會(huì)從頭開(kāi)始循環(huán),也就是跳過(guò)了i = 5,j = 5、6、7、8、9這5種可能,并且繼續(xù)循環(huán)。所以就是100種可能減去這5種可能,則結(jié)果是num = 95。
with 語(yǔ)句

該語(yǔ)句的作用是將代碼的作用域設(shè)置到一個(gè)特定的對(duì)象中。with 語(yǔ)句的語(yǔ)法如下:

with (expression) statement

舉例:

with (location){
    var qs = search.substring(1);
    var hostName = hostname;
    var url = href;
}

上面的寫(xiě)法就是從下面這個(gè)語(yǔ)句改過(guò)來(lái)的:

var qs = location.search.substring(1);
var hostName = location.hostname;
var url = location.href;

該語(yǔ)句會(huì)使性能下降,不建議使用

switch 語(yǔ)句

語(yǔ)法如下,可以用來(lái)代替if 語(yǔ)句:

switch (expression) {
    case value:
        statement;
        break;
    case value:
        statement;
        break;
    case value:
        statement;
        break;
    default:
        statement;
}

例子如下:

var i = 15;
if (i == 25){
    document.write("the num is 25");
}else if (i == 35){
    document.write("the num is 35");
}else if (i == 15){
    document.write("the num is 15");
}else {
    document.write("others")
}

上面的if 語(yǔ)句就可以寫(xiě)成下面的switch 語(yǔ)句:

switch(15){
    case 15: //相當(dāng)于if 語(yǔ)句中的else if
        document.write("15");
        break;
    case 25:
        document.write("25");
        break;
    case 35:
        document.write("35");
        break;
    default: //相當(dāng)于if 語(yǔ)句中的else
        document.write("others");
}

為每個(gè)case 后面都添加一個(gè)break 語(yǔ)句,就可以避免同時(shí)執(zhí)行多個(gè)case 代碼的情況。

當(dāng)一種情況和另一種情況所產(chǎn)生的結(jié)果需要合并又該如何操作呢:

switch(15){
    case 15: //相當(dāng)于if 語(yǔ)句中的else if
        document.write("15");
    //  break; 這里忽略了break 就可以讓case 15 與case 25 合并,在這里就是同時(shí)執(zhí)行document.write("15") 和document.write("25")
    case 25:
        document.write("25");
        break;
    case 35:
        document.write("35");
        break;
    default: //相當(dāng)于if 語(yǔ)句中的else
        document.write("others");
}

具體的來(lái)說(shuō)就是,如果需要混合幾種情形,只需要省略break 關(guān)鍵字即可。但不要忘了在代碼中添加注釋說(shuō)明是有意省略了break 關(guān)鍵字如:

switch (3){
    case 1:
    document.write("the number is 1" + "
"); break; case 2: document.write("the number is 2" + "
"); break; case 3: //合并兩種情形 case 4: document.write("the number is unknown" + "
"); }//"the number is unknown"

另外,switch 語(yǔ)句可以使用任何數(shù)據(jù)類(lèi)型,每個(gè)case 的值甚至還可以是變量和表達(dá)式。如:

var x = "oliver young"
switch (x){
    case "oliver " + "young":
    document.write("hello Mr.young.");
    break;
    case "troy":
    document.write("hello troy.");
    break;
    default:
    document.write("sorry, i didn"t know you.");
} //"hello Mr.young."

或者:

var num = 10;
switch(num){
    case 100 - 90:
    document.write("right");
    break;
    case 100%10:
    document.write("also right");
    break;
    default:
    document.write("bad num");    
} //"right"

又或者:(注意switch(true))

var num = 8;
switch(true){
    case num.toString(10) === 8:
    document.write("true num");
    break;
    default:
    document.write("wrong num");
} //"wrong num"

上面這個(gè)例子中,之所以要給switch() 傳值true,就是為了使得每個(gè)case 值都可以返回一個(gè)布爾值。這樣,每個(gè)case 按照順序被求值,直到遇到匹配的值或者遇到default 語(yǔ)句為止。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/86152.html

相關(guān)文章

  • JavaScript函數(shù)一些注意要點(diǎn)

    摘要:函數(shù)函數(shù)的基本語(yǔ)法是下面是個(gè)示例另外,任何函數(shù)在任何時(shí)候都可以通過(guò)語(yǔ)句后跟要返回的值來(lái)實(shí)現(xiàn)返回值。如另外,可以與命名參數(shù)一起使用。如不會(huì)執(zhí)行第一個(gè)函數(shù)兩個(gè)參數(shù)相加,只執(zhí)行最后一個(gè)同名的函數(shù)第一個(gè)參數(shù)加上 函數(shù) 函數(shù)的基本語(yǔ)法是: function functionName(arg0,arg1,...,argN) { statements } 下面是個(gè)示例: function...

    caiyongji 評(píng)論0 收藏0
  • JavaScript 表單腳本——“表單序列化”注意要點(diǎn)

    摘要:瀏覽器如何將數(shù)據(jù)發(fā)送給服務(wù)器對(duì)表單字段的名稱(chēng)和值進(jìn)行編碼,使用和號(hào)分隔不發(fā)送禁用的表單字段只發(fā)送勾選的復(fù)選框和單選按鈕不發(fā)送為和的按鈕多選框中每個(gè)選中的值單獨(dú)一個(gè)條目在單擊提交按鈕提交表單的情況下,也會(huì)發(fā)送提交按鈕。否則不發(fā)送提交按鈕。 瀏覽器如何將數(shù)據(jù)發(fā)送給服務(wù)器: 對(duì)表單字段的名稱(chēng)和值進(jìn)行URL編碼,使用和號(hào)(&)分隔 不發(fā)送禁用的表單字段 只發(fā)送勾選的復(fù)選框和單選按鈕 不發(fā)送t...

    BlackHole1 評(píng)論0 收藏0
  • Javascript執(zhí)行環(huán)境和作用域注意要點(diǎn)

    摘要:所以,全局執(zhí)行環(huán)境的變量對(duì)象始終都是作用域鏈中的最后一個(gè)對(duì)象。搜索過(guò)程從作用域鏈的最前端開(kāi)始,逐級(jí)向后回溯,直到找到標(biāo)識(shí)符為止。查詢(xún)標(biāo)識(shí)符搜索過(guò)程就是沿作用域鏈向上查詢(xún)的過(guò)程。 執(zhí)行環(huán)境 執(zhí)行環(huán)境就是環(huán)境,是js中最重要的概念。執(zhí)行環(huán)境定義了變量或函數(shù)有權(quán)訪問(wèn)的其他數(shù)據(jù)。每個(gè)執(zhí)行環(huán)境都有一個(gè)與之相關(guān)的變量對(duì)象(我們編寫(xiě)的代碼無(wú)法訪問(wèn)這個(gè)對(duì)象)。 全局執(zhí)行環(huán)境(是最外圍的執(zhí)行環(huán)境。在W...

    CKJOKER 評(píng)論0 收藏0
  • JavaScript函數(shù)表達(dá)式——“函數(shù)模仿塊級(jí)作用域及函數(shù)私有變量”注意要點(diǎn)

    摘要:模仿塊級(jí)作用域在塊級(jí)語(yǔ)句中定義的變量,實(shí)際上是包含函數(shù)中而非語(yǔ)句中創(chuàng)建的。避免對(duì)全局作用域產(chǎn)生不良影響這種方式可以通過(guò)創(chuàng)建私有作用域,避免對(duì)全局作用域產(chǎn)生不良影響。一般包括函數(shù)的參數(shù)局部變量和內(nèi)部定義的其他函數(shù)。 模仿塊級(jí)作用域 在塊級(jí)語(yǔ)句中定義的變量,實(shí)際上是包含函數(shù)中而非語(yǔ)句中創(chuàng)建的。如: function outputNumbers(x){ for (var i = 0;...

    archieyang 評(píng)論0 收藏0
  • JavaScript 代碼優(yōu)化和部署——“性能和部署”注意要點(diǎn)

    摘要:注意作用域避免全局查找以上代碼應(yīng)該修改如下避免語(yǔ)句必須使用語(yǔ)句的情況很少,因?yàn)樗饕糜谙~外的字符。將代碼分離稱(chēng)多個(gè)文件只是為了提高可維護(hù)性,并非為了部署。要進(jìn)行部署的時(shí)候,需要將這些源代碼合并為一個(gè)或幾個(gè)歸并文件。 注意作用域 避免全局查找 function updateUI () { var images = document.getElementsByTagName(...

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

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

0條評(píng)論

趙連江

|高級(jí)講師

TA的文章

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