老师帮忙看一下
来源: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值是相等的。如下:

另,同学代码效果实现是正确的。
如果我的回答帮助到了你,欢迎此案,祝学习愉快~
相似问题