Loading... JS学习的第二天。。继续遇到问题。。。原因可能是被网上的博客误导了。。。 博客原文让我觉得prompt()输入框点击取消时返回的是文本型的null,结果通过typeof()函数了解到点击取消时返回的是特殊类型的null。 ## prompt()的用法: ```javascript prompt("输入提示内容","输入框默认内容(选填)"); ``` 1、当点击确认时返回输入框内的内容,为字符串。即使输入框内没有输入内容也会返回""。 2、当点击取消时返回特殊类型的null。 ## 判断输入了null还是点击取消按钮 ### 被误导的想法: ```javascript var name = prompt("请输入name"); if(name == "null"){ alert("取消按钮,或输入了null");//暂时不会解决将两种可能分开判断的问题 }else if(name == ""){ alert("输入为空"); }else{ alert("name="+name); } ``` ### 正确判断方法: ```javascript var name = prompt("enter something","abc"); if (name == null){ alert("取消按钮"); }else if(name == "null"){ alert("输入了null"); }else if(name == ""){ alert("输入为空"); }else{ alert("name="+name); } ``` ### 网上使用的正则表达式也是个不错的方法,不过我不会。。 ```javascript var ret = prompt("enter something","abc"); if (ret == null) { alert("cancelled"); } else if (ret.replace(/^\s+|\s+$/g,"") == "") alert("empty"); else alert(ret); ``` Last modification:August 26, 2021 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 0 如果觉得我的文章对你有用,请随意赞赏