为了账号安全,请及时绑定邮箱和手机立即绑定

例子里面的代码有bug

var myname=prompt("请输入你的姓名:");
if(myname!=null)
 {   alert("你好"+myname); }
else
 {  alert("你好 my friend.");  }

弹出的输入对话框不输入任何值点击“确认”的话,理论上应该是空值,应该弹出else后的语句才对。

可是不输入任何值单击“确认”却会弹出“你好”而不是“你好 my friend”。

而单击“取消”的时候应该关闭对话框不进行任何操作才对,可是却会弹出else后的语句也就是“你好 my friend”.

q1:意思是不是说单击“取消”才会返回null,而不输入任何内容单击“确定”却不会返回null?

q2:那么不输入任何值单击“确定”返回的到底是什么?

q3:如何才能做到不输入任何值单击“确认”会输出else后的语句?在单击“取消”之后对话框关闭不进行任何操作?

正在回答

2 回答

1. 取消返回null,点击确定按钮,文本框中的内容将作为函数返回值,也就是说你什么都没有输入的就是空字符‘’,这个跟null是不一样的概念。你可以去搜下空字符与null的区别。

2. Chrome返回‘',IE10 有默认输入‘undefined’,所以就是文本框的内容,‘undefined’

q3. 1. 简单实现你可以试试if(myname!=null&&myname!='undefined'&&myname!=''),仅供参考, 知道返回值后,你可以随便试。。

2 回复 有任何疑惑可以回复我~
#1

小仓老师 提问者

非常感谢!
2016-06-13 回复 有任何疑惑可以回复我~

A1:对

A2:返回的为空字符串

A3:将if(myname!=null)修改成if(myname!="")

1 回复 有任何疑惑可以回复我~
#1

小仓老师 提问者

非常感谢
2016-06-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

例子里面的代码有bug

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信