2017-10-05 177 views
-1

我試圖創建一個alert詢問用戶電子郵件,如果它與存儲的變量兼容,那麼將出現一個警報,並記錄!消息,但循環不適用於我的代碼ifelse但只有一次。if和else語句在while循環中將不起作用

//working code 
 
function validation(str) { 
 
    var str = prompt("Please Enter your email"); 
 
    var email = "[email protected]"; 
 

 
    if (str === email) { 
 
    return alert("Welcome back, Logged Successfully!" + " your email is " + str); 
 
    } else { 
 
    return alert("Your Email is incorrect, Please Try again"); 
 
    } 
 

 
} 
 

 
validation();

//Loop Code 
 
function validation(str) { 
 
    var str = prompt("Please Enter your email"); 
 
    var email = "[email protected]"; 
 
    while (str !== email) { 
 
    if (str === email) { 
 
     return alert("Welcome back, Logged Successfully!" + " your email is " + str); 
 
    } else { 
 
     return alert("Your Email is incorrect, Please Try again"); 
 
    } 
 
    str++; 
 
    } 
 
} 
 

 
validation();

+0

調用'海峽=提示( 「請輸入您的電子郵件」);''你聲明else'內。那麼'str ++'是做什麼的? – Walk

+0

你想用while循環完成什麼?什麼是'str ++'? – Kokodoko

+0

把提示放進去,同時使用無限循環while(1),並在電子郵件匹配時打破 – Niladri

回答

1

變量str沒有在你的循環更新。您還使用return語句,該語句將在第一次迭代後停止循環。

您需要使用prompt("")你的循環和條件內繼續這種循環是str !== email

如果從提示的信息是一樣的電子郵件時,循環停止和代碼後while將執行

var str = prompt("Please enter your email"); 
 
var email = "test"; 
 

 
while (str !== email) { 
 
    str = prompt("Please enter a valid email"); 
 
} 
 

 
alert("Yeah ! Hello !");

0
  1. 你必須讓每次迭代時間的價值,否則str不更新。爲此,我使用了一個do...while循環來執行它至少一次,並在用戶未輸入正確值時循環。
  2. 我從代碼中刪除了str++,因爲它並不意味着要增加一個字符串值(++)。
  3. 我在alert裏改了一下你的連接,使其更加簡潔。
  4. 我也刪除了return語句,因爲它們會停止函數的執行,它不是你想要的。

function validation() { 
 
    do { 
 
    var str = prompt("Please enter your email"); 
 
    var email = "[email protected]"; 
 
    
 
    if (str === email) { 
 
     alert("Welcome back, Logged Successfully ! Your email is " + str); 
 
    } else { 
 
     alert("Your email is incorrect, please try again"); 
 
    } 
 
    } while (str !== email) 
 
} 
 

 
validation();

1

我相信這是你旨在實現

什麼

function validation() { 
 
    var str = prompt("Please Enter your email"); 
 
    var email = "[email protected]"; 
 
    do { 
 
    if (str === email) { 
 
     alert("Welcome back, Logged Successfully!" + " your email is " + str); 
 
    } else { 
 
     str = prompt("Your Email is incorrect, Please Try again"); 
 
    } 
 
    } while (str !== email) 
 
} 
 

 
validation();