例子里面的代碼有bug
var myname=prompt("請輸入你的姓名:");
if(myname!=null)
?{ ? alert("你好"+myname); }
else
?{ ?alert("你好 my friend."); ?}
彈出的輸入對話框不輸入任何值點擊“確認”的話,理論上應(yīng)該是空值,應(yīng)該彈出else后的語句才對。
可是不輸入任何值單擊“確認”卻會彈出“你好”而不是“你好 my friend”。
而單擊“取消”的時候應(yīng)該關(guān)閉對話框不進行任何操作才對,可是卻會彈出else后的語句也就是“你好 my friend”.
q1:意思是不是說單擊“取消”才會返回null,而不輸入任何內(nèi)容單擊“確定”卻不會返回null?
q2:那么不輸入任何值單擊“確定”返回的到底是什么?
q3:如何才能做到不輸入任何值單擊“確認”會輸出else后的語句?在單擊“取消”之后對話框關(guān)閉不進行任何操作?
2016-06-13
1. 取消返回null,點擊確定按鈕,文本框中的內(nèi)容將作為函數(shù)返回值,也就是說你什么都沒有輸入的就是空字符‘’,這個跟null是不一樣的概念。你可以去搜下空字符與null的區(qū)別。
2. Chrome返回‘',IE10 有默認輸入‘undefined’,所以就是文本框的內(nèi)容,‘undefined’
q3. 1. 簡單實現(xiàn)你可以試試if(myname!=null&&myname!='undefined'&&myname!=''),僅供參考,?知道返回值后,你可以隨便試。。
2016-06-13
A1:對
A2:返回的為空字符串
A3:將if(myname!=null)修改成if(myname!="")