老师帮忙看一下
来源:1-8 编程练习
慕UI4313976
2020-05-09 16:55:25
// while (textChange == "") 为什么不行?
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>输入框</title> </head> <body> <input type="button" value="点击"> <script type="text/javascript"> var input = document.getElementsByTagName("input")[0]; input.onclick = function () { // while (textChange == "") 为什么不行? debugger; while (textChange == "" || textChange == null) { var textChange = prompt("请输入文本。\n当点击确定时,按钮文字会变成输入文本。"); if (textChange == "") { alert("请输入内容!"); } else if (textChange == null) { break; } else { input.value = textChange; } } } </script> </body> </html>
1回答
同学你好,因为textChange一开始没有声明,默认是undefined,所以textChange==""这种写法进入不了while循环,无法弹出输入框。
那为什么写成textChange == "" || textChange == null这种就可以呢,因为在js语言中undefined派生自null,所以null和undefined值是相等的。如下:
另,同学代码效果实现是正确的。
如果我的回答帮助到了你,欢迎此案,祝学习愉快~
相似问题