橫向對比js的流控制語句,從此不再迷茫。
哈哈,給此博文插圖:當前端發現全公司只有一個人手機顯示的界面有問題的時候…
- break: 終止循環,使當前循環不再繼續執行。用於跳出循環或switch語句。當是嵌套循環的時候,只能跳出一層循環。
- continue: 跳過當前循環,繼續往下判斷循環執行語句,相當於開始循環的一次新迭代。只能結束循環中的一次過程,無法阻止循環繼續進行。
- return: 用於指定函數的返回值,只能出現在函數體中,並且終止return後語句的執行。經常用來搭配if語句等來使用。只對當前函數體有效。return 可以返回任何類型的值,也可不返回任何值(此時函數的返回值爲undefined)。
//情況1
for(var i=1;i<=5;i++) {
if(i==3) {
break;
}
console.log(i);
}
//情況2
for(var i=1;i<=5;i++) {
if(i==3) {
break;
}
}
console.log(i);
function sum(){
if(true){
return false;
}
}
function num() {
//...
}
function test(){
sum();
num();
}
test();
//return判斷登錄條件
function Login_Click(name, pwd) {
if (name == "") {
alert('用戶名爲空');
return; //return false
}
if (pwd == "") {
alert('密碼爲空');
return;
}
alert('登陸成功');
}
- do while語句:後測試循環語句,代碼至少會執行一次。
- while語句:前測試循環語句,先執行測試條件,再對表達式進行判斷是否執行。循環體內代碼可能永遠不執行
- for語句:也算是一種前測試循環語句。但是能在執行循環前初始化變量。for語句和while語句功能相同。for循環的初始表達式,控制表達式和循環後表達式都可省略,創建一個無線循環
- for-in語句:用來枚舉對象的屬性。
- switch語句:流控制語句。
var i= 0 ;
do(i += 2) while(i < 0 );
alert(i) //2
var i = 0;
while(i < 0 ) i += 2;
alert(i) // 0
var count = 2;
for (var i = 0; i < count; i++){
console.log(i); //0, 1
}
console.log(i) // 2 不存在塊級作用域
//for循環內如果只寫控制表達式,就相當於while了
var count = 2, i = 0;
for(;i<count;) {
console.log(i)
i++
}
//for語句轉化爲while語句
var count = 2, i = 0;
while(i < count) {
console.log(i)
i++;
}
//for in循環也可以省略var
for (property in expression) statement
continue在for循環和while循環中不同表現
var c = 0;
while(c < 5) {
c++;
if(c == 3) continue;
console.log(c)
} // 1, 2, 4, 5
var c = 5
while (a < 5) {
if (a == 3) continue
a++
console.log(a)
}
//a = 3 以後,不再執行下面的代碼,所以a一直爲3,一直滿足條件,就形成了死循環
上面demo看一遍就懂,算是一個小總結吧。