條件語句是在指定條件為true時(shí)執(zhí)行的一組命令。
在很多情況下,您都希望根據(jù)用戶輸入或其他因素來運(yùn)行不同的代碼塊。
條件語句是計(jì)算機(jī)程序的邏輯,決策或流指定的一部分。
在JavaScript中,我們具有以下條件語句:
if語句
if...else語句
else...if語句
switch語句
我們將在下一章討論switch語句。
只有當(dāng)if指定條件為 true 時(shí),該語句才會(huì)執(zhí)行代碼。語法為:
if (condition) {
//如果條件為真,則執(zhí)行的代碼塊
}if (x < 0) {
document.getElementById("result").innerHTML = "NEGATIVE";
}測(cè)試看看?/?if...else語句允許您在指定條件的條件為true時(shí)執(zhí)行一個(gè)代碼塊,在其條件為false的情況下執(zhí)行另一代碼塊。語法為:
if (condition) {
//如果條件為真,則執(zhí)行的代碼塊
} else {
//如果條件為假,則執(zhí)行的代碼塊
}var x = -4;
if (x < 0) {
msg = "NEGATIVE";
} else {
msg = "POSITIVE";
}測(cè)試看看?/?如果用戶單擊圖像,以下示例將更改圖像的src屬性的值:
<img id="demo" onclick="changeImage()" src="avatar-female.jpg">
<script>
function changeImage() {
var image = document.getElementById("demo");
if (image.src.match("female")) {
image.src = "avatar-male.jpg";
} else {
image.src = "avatar-female.jpg";
}
}
</script>測(cè)試看看?/?使用if...else,我們可以根據(jù)條件是對(duì)還是錯(cuò)來運(yùn)行代碼塊。但是,有時(shí)我們可能有多種可能的條件和輸出,并且需要的不僅僅是兩個(gè)選項(xiàng)。執(zhí)行此操作的一種方法是使用else...if語句,該語句可以評(píng)估兩個(gè)以上可能的結(jié)果。語法為:
if (condition1) {
//如果condition1為true,則要執(zhí)行的代碼塊
} else if (condition2) {
//如果condition1為false并且condition2為true,則要執(zhí)行的代碼塊
} else {
//如果condition1為false并且condition2為false則要執(zhí)行的代碼塊
}// 設(shè)置學(xué)生的當(dāng)前等級(jí)
var grade = 88;
// 檢查成績(jī)是否為 A, B, C, D, or F
if (grade >= 90) {
document.write("A");
} else if (grade >= 80) {
document.write("B");
} else if (grade >= 70) {
document.write("C");
} else if (grade >= 60) {
document.write("D");
} else {
document.write("F");
}測(cè)試看看?/?您可以使用嵌套的if ... else語句來增強(qiáng)JavaScript程序的決策能力。
var a = 10, b = 20, c = 30;
var answer;
if (a > b) {
if (a > c) {
answer = "A 是三個(gè)中最大的";
} else {
answer = "C 是三個(gè)中最大的";
}
} else if (b > c) {
answer = "B 是三個(gè)中最大的";
} else {
answer = "C 是三個(gè)中最大的";
}測(cè)試看看?/?三元運(yùn)算符提供了編寫if ... else語句的簡(jiǎn)便方法。
三元運(yùn)算符使用問號(hào)(?)和冒號(hào)(:)的語法編寫,如下所示:
(condition) ? expression on true : expression on false
在上面的語法中,condition首先被寫入,然后是?。第一個(gè)表達(dá)式將在true上執(zhí)行,第二個(gè)表達(dá)式將在false上執(zhí)行。
要了解三元運(yùn)算符的工作方式,請(qǐng)考慮以下示例:
var status = (age >= 18) ? "adult" : "minor";測(cè)試看看?/?
如果年齡為18歲或以上,則以上語句將值“adult”分配給變量status。否則,它將為status分配值“ minor”。