小仓老师
2016-06-13 15:50
var myname=prompt("请输入你的姓名:");
if(myname!=null)
{ alert("你好"+myname); }
else
{ alert("你好 my friend."); }
弹出的输入对话框不输入任何值点击“确认”的话,理论上应该是空值,应该弹出else后的语句才对。
可是不输入任何值单击“确认”却会弹出“你好”而不是“你好 my friend”。
而单击“取消”的时候应该关闭对话框不进行任何操作才对,可是却会弹出else后的语句也就是“你好 my friend”.
q1:意思是不是说单击“取消”才会返回null,而不输入任何内容单击“确定”却不会返回null?
q2:那么不输入任何值单击“确定”返回的到底是什么?
q3:如何才能做到不输入任何值单击“确认”会输出else后的语句?在单击“取消”之后对话框关闭不进行任何操作?
1. 取消返回null,点击确定按钮,文本框中的内容将作为函数返回值,也就是说你什么都没有输入的就是空字符‘’,这个跟null是不一样的概念。你可以去搜下空字符与null的区别。
2. Chrome返回‘',IE10 有默认输入‘undefined’,所以就是文本框的内容,‘undefined’
q3. 1. 简单实现你可以试试if(myname!=null&&myname!='undefined'&&myname!=''),仅供参考, 知道返回值后,你可以随便试。。
A1:对
A2:返回的为空字符串
A3:将if(myname!=null)修改成if(myname!="")
JavaScript入门篇
739817 学习 · 9566 问题
相似问题