Javascript是一種廣泛應用于Web前端開發的編程語言。在程序開發中,經常需要用到循環語句來實現重復操作。不過,有時候我們可能需要在循環中退出,此時就需要使用javascript提供的break語句或continue語句。下面將分別講解它們的用法和示例。
break語句
break語句可以跳出循環并向下執行代碼。它經常用于switch語句和循環語句中。
for (var i = 0; i < 10; i++) { if (i === 5) { break; } document.write(i + "<br>"); }
上述代碼中的循環將從0到9遍歷每一個數字,但當循環至5時,由于if條件滿足,便執行了break語句,跳出了循環。因此,輸出結果為0、1、2、3、4。
continue語句
continue語句可以終止當前循環并進入下一個循環。也就是說,它能夠忽略當前次循環的代碼,直接進入下一次循環。
for (var i = 0; i < 10; i++) { if (i === 5) { continue; } document.write(i + "<br>"); }
上述代碼中,循環將從0到9遍歷每一個數字,但當循環至5時,由于if條件滿足,便執行了continue語句,終止了當前循環并進入下一個循環。因此,輸出結果為0、1、2、3、4、6、7、8、9。
應用場景
break和continue語句的應用場景十分廣泛,在實際工作中經常會使用到。以下是一些常見的應用場景。
1. 停止循環
var persons = ["張三", "李四", "王五", "趙六"]; for (var i = 0; i < persons.length; i++) { if (persons[i] === "李四") { break; } document.write(persons[i] + "<br>"); }
上述代碼中,遍歷persons數組并輸出每一個元素,但當循環至"李四"時,由于break語句被執行,便停止了循環。因此,輸出結果為"張三"。
2. 跳過特定元素的循環
var persons = ["張三", "李四", "王五", "趙六"]; for (var i = 0; i < persons.length; i++) { if (persons[i] === "李四") { continue; } document.write(persons[i] + "<br>"); }
上述代碼中,遍歷persons數組并輸出每一個元素,但當循環至"李四"時,由于continue語句被執行,便跳過了該元素的循環。因此,輸出結果為"張三"、"王五"、"趙六"。
3. 驗證表單輸入
function validateForm() { var name = document.forms["myForm"]["name"].value; var email = document.forms["myForm"]["email"].value; if (name === "") { alert("請輸入姓名!"); return false; } if (email === "") { alert("請輸入郵箱地址!"); return false; } return true; }
上述代碼中,validateForm函數用于驗證表單輸入是否合法。當判斷出姓名或郵箱地址為空時,由于break語句被執行,便退出了函數并彈出警告框。因此,無法提交空白表單。
4. 模擬遞歸操作
var arr = [1, 2, [3, 4], 5, [6, [7, 8, [9, 10]]]]; function flatten(arr) { var result = []; for (var i = 0; i < arr.length; i++) { if (typeof arr[i] === "object") { result = result.concat(flatten(arr[i])); } else { result.push(arr[i]); } } return result; } document.write(flatten(arr));
上述代碼中,flatten函數用于將多維數組轉化為一維數組。當遍歷到另一個數組時,由于break語句被執行,便進入遞歸操作,直到所有元素都被添加到result數組中并返回。因此,輸出結果為"1,2,3,4,5,6,7,8,9,10"。
在javascript編程中,break和continue語句是常用的流程控制語句。它們能夠幫助我們從迭代循環中退出或跳過特定元素,提高了程序的靈活性和可讀性。當我們需要處理復雜的業務場景時,可以靈活使用這兩個語句,提高自己的開發效率。