js的break,continue,return及流控制語句

橫向對比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看一遍就懂,算是一個小總結吧。

深入理解return,你可以點擊這裏。

發佈了38 篇原創文章 · 獲贊 39 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章