為什么不能直接返回第一個if的else呢?求大神
<!DOCTYPE html>
<html>
?<head>
? <title> new document </title> ?
? <meta http-equiv="Content-Type" content="text/html; charset=gbk"/> ??
? <script type="text/javascript"> ?
? ??
? ?function openWindow(){
? ? ? ?var myname
? ? ? myname=confirm("do you want to open this web?" );
? ? ? if(myname=true)
? ? ? {var mybuzhidao
? ? ? ?mybuzhidao=prompt('http://widcbgp.cn/');
? ? ? if(mybuzhidao!=null)
? ? ? { mybuzhidao.open("http://widcbgp.cn/","_blank","width=400,height=500,menubar=no,toolbar=no");}
? ? ? else
? ? ? {alert("promot的再見")}
? ? ? }
? ? ? else
? ? ?{ alert("第一個if的再見2")}
? ?
? ?}
? ??
? </script>?
?</head>?
?<body>?
?<input type="button" value="新窗口打開網(wǎng)站" onclick="openWindow()" />?
?</body>
</html>
出現(xiàn)do you want to open this web的時候點取消但是還是會繼續(xù)出現(xiàn)第二個prompt的提示框
正常的情況下不是應該直接現(xiàn)實else中的內(nèi)容嗎。。。
好暈啊 不知道哪里做錯了
555555為什么提問還要積分啊。。心塞
2016-10-15
首先整理下格式,方便閱讀?;蛘邞撜f,在敲代碼的時候就需要注意格式,方便自己審查代碼,一個程序員的基本素質(zhì)。
下面加粗傾斜下劃線,是你程序出錯的主要原因。
1、var myname ??
var mybuzhidao
末尾沒分號。雖然在JS里面,末尾無分號無傷大雅,但還是要記得寫。以后踩一些【因為少個標點符號而出一些奇奇怪怪問題又找半天不知道代碼哪出錯】的坑,就會長記性了。另外不建議弄一些沒意義的命名,初期練手代碼量小。但如果養(yǎng)成習慣,后期代碼量多的時候,沒意義的命名加上無注釋,你都不知道之前寫的什么鬼。
2、if(myname=true)
【myname=true】 ?? ?你是想寫 【myname==true】 吧。
一個= 是賦值,兩個= 才是比較。(雖然這里,myname本身就是一個true或者false的布爾型,不需要再做比較。直接寫【if(myname)】就可以了。)
所以你這里,myname是恒為true的,所以這一層的if_else_,else是永遠進不去的。
3、mybuzhidao=prompt('http://widcbgp.cn/');
題目要求是,默認值為'http://idcbgp.cn/'(你寫的4個w是什么鬼?。?,應該把鏈接地址放在第二個參數(shù),第一個參數(shù)是提示。比如這樣
mybuzhidao=prompt("請輸入網(wǎng)址:",'http://idcbgp.cn/');
默認值意思是,你如果沒有其他值,那就用這個了。
4、mybuzhidao.open("http://widcbgp.cn/","_blank","width=400,height=500,menubar=no,toolbar=no");
你竟然沒問【為什么瀏覽窗口沒彈出來】。
讓我自問自答一波。
彈得出來就有鬼了??!
mybuzhidao.open(...); 你的不知道 點 open 。。。。。。。。。。open毛線。 是【window.open(....)】你是要打開一個窗口,不是要打開【你的不知道】。
第一個參數(shù),按照題意,是要prompt對話框輸入的值,也就是你的變量mybuzhidao。默認值是prompt的默認值,不是讓你寫死一個地址在這(還他喵的是4個w的地址)。
改為:
window.open(mybuzhidao,"_blank","width=400,height=500,menubar=no,toolbar=no");