為什么我否定第1個判斷時,還會繼續執行里面的判斷?
? ? ? ? var con = confirm("確定打開新窗口嗎?");
? ? ? ? var prom = prompt('確定打開網址:','http://www.xianlaiwan.cn');
? ? ? ? // 新窗口打開時彈出確認框,是否打開
? ? ? ? if(con==true){
? ? ? ? ? ? // 通過輸入對話框,確定打開的網址,默認為 http://www.xianlaiwan.cn/
? ? ? ? ? ? if(prom!==null){
? ? ? ? ? ? ? ? //打開的窗口要求,寬400像素,高500像素,無菜單欄、無工具欄。
? ? ? ? ? ? ? ? window.open(prom,'_blank','width=400px,height=500px,menubar=no,toolbar=no');
? ? ? ? ? ? }
? ? ? ? ? ? else{
? ? ? ? ? ? ? ? alert("請輸入并確定您要打開的網址!");
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? else{
? ? ? ? ? ? alert("您取消打開新窗口!"); ? ?
? ? ? ? }
我取消第1條判斷時,為什么還會繼續執行里面的判斷呢?我哪里寫錯了?
當判斷是否打開新窗口時,我否定,應該執行 alert("您取消打開新窗口!"); 才對吧?
2016-03-11
你在if外先定義的 con 和 prom變量:
?? ? ? var con = confirm("確定打開新窗口嗎?");
? ? ? ? var prom = prompt('確定打開網址:','http://www.xianlaiwan.cn');
所以在執行的時候 順序執行,先彈出確認對話框con被賦值,對話框關閉,再彈出輸入對話框prom被賦值,對話框關閉。然后con prom得到值以后再進行你的if判斷。
你應該把prom的賦值 放在 if(con)的判斷里 才對。