JavaScript基礎之四——選擇與循環結構

JavaScript基礎之四——選擇與循環結構

    選擇結構與循環結構是編程中處理邏輯的核心結構,JavaScript中支持if-else和switch-case選擇結構,支持for,for-in,do-while,while循環結構。而且能夠使用break與continue語句進行循環的跳出,簡單的條件選擇if語句示例以下:javascript

//if條件語句
if (true) {
	console.log("條件語句");
};
if (false) {

} else {
	console.log("if-else語句");
};
var a = 10;
if (a < 10) {
	console.log("a<10");
} else if (a == 10) {
	console.log("a=10");
} else {
	console.log("a>10");
};

switch-case選擇結構用於多分支條件的選擇,示例以下:前端

//選擇語句
var b = "hi";
switch (b) {
	case "hello":
		{
			console.log("Hello world");
		}
		break;
	case "hi":
		{
			console.log("Hi world");
		}
		break;
	default:
		{
			console.log("都沒匹配上");
		}
}

須要注意,每一個case結構後面原則上都須要使用break進行中斷匹配,若是不添加此break,則匹配到一個case語句後switch結構並不會結束,會繼續嘗試匹配後面的case條件。java

    for循環結構用於處理大量重複的邏輯,示例以下:c++

for (var i = 0; i < 10; i++) {
	console.log("循環" + i);
}
for (var i = 0; i < 10; i++) {
	console.log("循環" + i);
	if (i == 2) {
        //使用break能夠提早中斷循環
		break;
	};
}

JavaScript還有一種更高效的循環模式,for-in結構,這種結構專門用來遍歷對象,其能夠將對象的屬性遍歷出來,示例以下:編程

var obj1 = {
	name: "jaki",
	age: 25
};
var obj2 = [1, 2, 3, 4, 5, 6, 7, 8];
for (var x in obj1) {
    //跳過本次循環 並非跳出循環
	if (x == "name") continue;
	console.log(x + ":" + obj1[x]);

}
for (var x in obj2) {
	console.log(x + ":" + obj2[x]);

}

須要注意,對於數組,其遍歷出來的是數組的下標,並非其中的值,這和C/OC,Swift等語言有所差別,也證實了數組在JavaScript中其實就是一種特殊的對象。數組

    while循環和do-while循環的差別在於whlie結構是先進行循環條件的判斷,再進入循環體,而do-while結構則是先進入循環體,在進行循環條件的判斷,示例以下:學習

var c = 1;
while (c < 10) {
	console.log(c);
	c++;
}
do {
	console.log(c);
	c--;
} while (c > 1);

    前面提到過break和continue語句,break語句用於中斷switch-case匹配或者跳出最近的循環,跳出循環的意思是指執行到break後,不管後面循環次數還有多少次,直接跳出,執行循環結構以後的代碼。continue語句的做用則是跳出最近的本次循環,接着進行循環條件的判斷,若是知足會繼續進行循環,而且若是有多層循環嵌套,break和continue也能夠經過label標籤指定具體跳出那層循環,示例以下:spa

LAB: for (var i = 0; i < 5; i++) {
	for (var j = 0; j < 5; j++) {
		if (j == 2) {
			break LAB
		};
		console.log(i + '==' + j);
	};
};

上面的代碼,若是不使用LAB標籤,則外層循環不會被中斷。code

前端學習新人,有志同道合的朋友,歡迎交流與指導,QQ羣:541458536對象

相關文章
相關標籤/搜索