JavaScript快速入門-05-基本語句

5 基本語句

5.1 if 語句

    if 語句常用語法如下所示:

if (condition) {
  statement1;
}
else {
  statement2;
}

if (condition) {
  statement1;
}
else if {
  statement2;
}
else if {
  statement3;
}
else {
  statement4;
}

    示例代碼如下所示:

let a=Math.round(Math.random()*100,0);
console.log("a value is:",a);
if (a<50){
    console.log("a小於50");
}
else if (a<70){
    console.log("a小於70");
}
else{
    console.log("沒有滿足條件");
}

5.2 while語句

5.2.1 do-while語句

    do-while語句是一種先運行後測試的循環語句,即循環體裏的代碼先執行,再對退出條件進行求值判斷,循環體內的代碼至少要運行一次。其語法格式如下所示:

do{
  statement;
}
while (expression);

    示例代碼如下所示:

let sum=0,i=1;
do{
    sum+=i;
    i++;
}
while(i<=100);
console.log("sum value is:",sum);

5.2.2 while語句

    while語句是一種先測試再運行的循環語句,即先對退出條件進行求值,再執行循環體裏面的代碼,因此,在while循環內的代碼可能不會執行。其語法格式如下所示:

let sum=0,i=1;
while(i<=100){
    sum+=i;
    i++;
}
console.log("sum value is:",sum);

5.3 for語句

5.3.1 for語句

    for語句也是先測試語句,再執行循環體內的代碼,但在進入循環之前加入了初始化代碼及循環執行後要執行的表達式,其語法格式如下所示:

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

在使用for循環,避免死循環

    示例代碼如下所示:

let sum=0;
for(let i=0;i<=100;i++){
    sum+=i;
}
console.log("sum value is:",sum);

5.3.2 for-in語句

    for-in語句是一種嚴格的迭代語句,用於枚舉對象中的非符號鍵屬性,其語法如下:

for (property in expression) {
  statement
}

果for-in循環要迭代的變量是null 或undefined,則不執行循環體

    示例代碼如下所示:

let personInfo={
    "name":"Surpass",
    "age":28,
    "location":"Shanghai",
    "from":"Wuhan"
};
for (let item in personInfo){
    console.log("key is: "+item+" value is:"+personInfo[item]);
}

let personInfoArray=["Surpass",28,"Shanghai","Wuhan"];
for(let item in personInfoArray){
    console.log("item is:",personInfoArray[item]);
}

輸出結果如下所示:

key is: name value is:Surpass
key is: age value is:28
key is: location value is:Shanghai
key is: from value is:Wuhan
item is: Surpass
item is: 28
item is: Shanghai
item is: Wuhan

5.3.3 for-of 語句

    for-of 語句是一種嚴格的迭代語句,用於遍歷可迭代對象的元素,其語法如下:

for (property of expression) {
  statement
}

    示例代碼如下所示:

let personInfoArray=["Surpass",28,"Shanghai","Wuhan"];
for(let item of personInfoArray){
    console.log("item is:",item);
}

輸出結果如下所示:

item is: Surpass
item is: 28
item is: Shanghai
item is: Wuhan

5.4 中斷語句

    在JavaScript中常用的中斷語句有兩個breakcontinue,其主要區別如下所示:

  • break:中斷整個循環,即立即退出循環
  • continue:中斷本次循環,即此次循環中斷,後續若還有循環,則繼續下一次循環。

5.4.1 break 語句

    break語句用於中斷整個循環,即立即退出循環,示例代碼如下所示:

for(let i=0;i<=5;i++){
    if (i %2 == 1){
        break;
    }
    console.log("current value is:",i);
}

輸出結果如下所示:

current value is: 0

5.4.2 continue 語句

    continue語句用於中斷本次循環,即此次循環中斷,後續若還有循環,則繼續下一次循環。示例代碼如下所示:

for(let i=0;i<=5;i++){
    if (i %2 == 1){
        continue;
    }
    console.log("current value is:",i);
}

輸出結果如下所示:

current value is: 0
current value is: 2
current value is: 4

5.5 with 語句

    with 語句的主要場景是針對一個對象反覆操作,這時候將代碼作用域設置爲該對象能提供便利。其基本語法如下所示:

with (expression) {
 statement;
}

    示例代碼如下所示:

// 未使用with語句
let personInfo={
        "name":"Surpass",
        "age":28,
        "location":"Shanghai",
        "from":"Wuhan"
    };

let getName=personInfo.name,getAge=personInfo.age,getLocation=personInfo.location,getFrom=personInfo.from;
console.log(getName,getAge,getLocation,getFrom);

// 使用with語句
with(personInfo){
    let getName=name,getAge=age,getLocation=location,getFrom=from;
    console.log(getName,getAge,getLocation,getFrom);
}

輸出結果如下所示:

Surpass 28 Shanghai Wuhan
Surpass 28 Shanghai Wuhan

由於with 語句影響性能且難於調試其中的代碼,通常不推薦在產品代碼中使用with語句

5.6 swithch語句

    switch 語句是與if 語句緊密相關的一種流控制語句,其語法格式如下所示:

switch (expression) {
    case value1:
    	statement
    	break;
    case value2:
    	statement
    	break;
    case value3:
        statement
        break;
    case value4:
        statement
        break;
    default:
    	statement
}

break關鍵字會導致代碼執行跳出switch語句。如果沒有break,則代碼會繼續匹配下一個條件。default關鍵字用於在任何條件都沒有滿足時指定默認執行的語句。

let i=30;
switch (i) {
    case 10:
        console.log("i=",10);
        break;
    case 20:
        console.log("i=",20);
        break;
    case 30:
        console.log("i=",30);
        // break;
    case 40:
        console.log("i=",40);
        // break;
    default:
        console.log("i=",NaN)
        break;
}

輸出結果如下所示:

i= 30
i= 40
i= NaN

    switch語句可以用於所有數據類型,因此可以使用字符串甚至對象,其次,條件的值不需要是常量,可以是變量或表達式,示例如下所示:

switch ("Hi Surpass") {
    case "Hi"+" Surpass":
        console.log("Hi Surpass");
        break;
    case "Hi"+ " Kevin":
        console.log("Hi Kevin");
        break;
    default:
        console.log("Not Found");
        break;
}

let flag=true;
let number=18;
switch (flag) {
    case number<10:
        console.log("number < 10");
        break;
    case number >=10 && number <20:
        console.log("10<=number<20");
        break;
    case number >=20 && number <30:
        console.log("20<=number<30");
        break;
    default:
        console.log("number >=30");
        break;
}

原文地址:https://www.jianshu.com/p/8223c6aa5b96

本文同步在微信訂閱號上發佈,如各位小夥伴們喜歡我的文章,也可以關注我的微信訂閱號:woaitest,或掃描下面的二維碼添加關注:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章