第一百零一節,JavaScript流程控制語句

JavaScript流程控制語句python

 

學習要點:函數

1.語句的定義學習

2.if 語句ui

3.switch語句spa

4.do...while語句code

5.while語句對象

6.for語句blog

7.for...in語句three

8.break和continue語句ip

9.with語句

 

ECMA-262規定了一組流程控制語句。語句定義了ECMAScript中的主要語法,語句一般由一個或者多個關鍵字來完成給定的任務。諸如:判斷、循環、退出等

 

一.語句的定義 

在ECMAScript中,全部的代碼都是由語句來構成的。語句代表執行過程當中的流程、限定與約定,形式上能夠是單行語句,或者由一對大括號「{}」括起來的複合語句,在語法描述中,複合語句總體能夠做爲一個單行語句處理。以下:

var box = 100; //單行語句
var age = 20; //另外一條單行語句

{
    //用花括號包含的語句集合,叫作複合語句,單位一個
    //一對花括號,表示一個複合語句,處理時候,能夠當作一條單行語句來對待
    //複合語句咱們通常叫作代碼塊
    var height = 200;
    var width = 300;
}

語句的種類

類型

子類型

語法

聲明語句

變量聲明語句

var box = 100;

標籤聲明語句

label : box;

表達式語句

變量賦值語句

box = 100;

函數調用語句

box();

屬性賦值語句

box.property = 100;

方法調用語句

box.method();

分支語句

條件分支語句

if () {} else {}

多重分支語句

switch () { case n : ...};

 

語句的種類(續)

 

類型

子類型

語法

循環語句

for

for (;;;) {}

for ... in

for ( x in x) {}

while

while () {};

do ... while

do {} while ();

控制結構

繼續執行子句

continue ;

終端執行子句

break ;

函數返回子句

return ;

異常觸發子句

throw ;

異常捕獲與處理

try {} catch () {} finally {}

其餘

空語句

;

with語句

with () {}

 

 

二.if語句

if 語句即條件判斷語句,一共有三種格式:

1. if (條件表達式) 語句;

判斷條件返回布爾值,返回true(真)就執行裏面的語句,反之返回假,則不執行裏面的語句

var box = 100;
if (box > 50) alert('box大於50');    //if裏面的括號(box > 50)返回的結果轉換成布爾值是
                                    //true(真)的時候,則執行後面的一條語句,不然不執行

var box = 100;
if (box > 50)
    alert('box大於50');     //兩行的if語句,判斷後也執行一條語句

alert('無論怎樣,我都能被執行到!'); //這條會被執行,能夠看出這個打印已經給if語句不要緊了

var box = 100;
if (box < 50) {
    alert('box大於50');   //用複合語句包含,判斷後執行一條複合語句
    alert('我被執行到!'); //複合語句就是一個代碼塊,判斷後執行的代碼塊
}

對於if語句括號裏的表達式,ECMAScript會自動調用Boolean()轉型函數將這個表達式的結果轉換成一個布爾值。若是值爲true,執行後面的一條語句,不然不執行。

PS:if語句括號裏的表達式若是爲true,只會執行後面一條語句,若是有多條語句,那麼就必須使用複合語句把多條語句包含在內。

PS2:推薦使用第一種或者第三種格式,一行的if語句,或者多行的if複合語句。這樣就不會由於多條語句而形成混亂。

PS3:複合語句咱們通常喜歡稱做爲:代碼塊。

2. if (條件表達式) {語句;} else {語句;}

判斷條件返回布爾值,返回true(真)就執行裏面的語句,反之返回假,則執行else裏面的語句

var box = 100;
if (box > 50) {
    alert('box大於50');                //條件爲true,執行這個代碼塊
} else {
    alert('box小於50');                //條件爲false,執行這個代碼塊
} 

3.if (條件表達式) {語句;} else if (條件表達式) {語句;} ... else {語句;} 

多個條件判斷,那個條件返回true(真)就執行那個裏面的語句、下面的就不執行了,全部的條件都返回假,就執行else裏面的語句

var box = 100;
if (box >= 100) {                        //若是知足條件,不會執行下面任何分支
    alert('甲');
} else if (box >= 90) {
    alert('乙');
} else if (box >= 80) {
    alert('丙');
} else if (box >= 70) {
    alert('丁');
} else if (box >= 60) {
    alert('及格');
} else {                                //若是以上都不知足,則輸出不及格
    alert('不及格');
}

 

三.switch語句

switch語句是多重條件判斷,用於多個值相等的比較。被判斷變量與那條判斷相等就執行那條裏面的語句

break關鍵字,中途退出當

var box = 1;
switch (box) {                        //用於判斷box相等的多個值
    case 1 :                       //case 1 至關於若是box==1,會執行alert('one');
        alert('one');
        break;                        //break;遇到break會退出判斷語句,用於防止語句的穿透
    case 2 :
        alert('two');
        break;
    case 3 :
        alert('three');
        break;

    default :                        //至關於if語句裏的else,不然的意思
        alert('error');
}

 

四.do...while循環語句

do...while語句是一種先運行,後判斷的循環語句。也就是說,無論條件是否知足,至少先運行一次循環體。

var box = 1;                            
do {                                    //先運行一次,再判斷
    alert(box);                         //第一步打印box
    box++;                              //第二步累加,box等於2
} while (box <= 5);                        //第三步判斷box是否小於或者等於5,此時box等於2,條件成立開始循環

 

五.while循環語句

while語句是一種先判斷,後運行的循環語句。也就是說,必須知足條件了以後,方可運行循環體。

var box = 1;                            //若是是1,執行五次,若是是10,不執行
while (box <= 5) {                        //先判斷,再執行
    alert(box);
    box++;
}

 

六.for循環語句

for語句也是一種先判斷,後運行的循環語句。但它具備在執行循環以前初始變量和定義循環後要執行代碼的能力。

for (var box = 1; box <= 5 ; box++) {        //第一步,聲明變量var box = 1;
    alert(box);                        //第二步,判斷box <=5
}                                    //第三步,alert(box)
//第四步,box++
//第五步,從第二步再來,直到判斷爲false

 

七.for...in循環語句,迭代循環語句,能夠循環出對象裏的數據

var duix = {             //建立對象,對象有點像python裏的字典,由鍵值對組成
    'xm':'林貴秀',
    'nl':'32',
    'xb':'男'
};
for(var i in duix){     //循環出對象裏面的元素名稱,定義變量i,將每次循環到的數據賦值給i
    alert(i);            //循環打印出i
};

 

 

八.break和continue語句

break和continue語句用於在循環中精確地控制代碼的執行。其中,break語句會當即退出循環,強制繼續執行循環體後面的語句。而continue語句退出當前循環,繼續後面的循環

break關鍵字,當即退出循環

document.write()打印數據顯示到網頁上

for (var box = 1; box <= 10; box++) {
    if (box == 5) break;                        //若是box是5,就退出循環
    document.write(box);
    document.write('<br />');
}

continue關鍵字,退出當前循環繼續後面的循環

for (var box = 1; box <= 10; box++) {
    if (box == 5) continue;                    //若是box是5,就退出當前循環
    document.write(box);
    document.write('<br />');
}

 

九.with()語句,對象做用域設置

with語句的做用是將代碼的做用域設置到一個特定的對象中。

var box = {                                //建立一個對象
    'name' : '李炎恢',                        //鍵值對
    'age' : 28,
    'height' : 178
};

var n = box.name;                            //從對象裏取值賦給變量
var a = box.age;
var h = box.height;

//能夠將上面的三段賦值操做改寫成:
with (box) {                                //省略了box對象名
    var n = name;
    var a = age;
    var h = height;
}
相關文章
相關標籤/搜索