老师帮忙看一下

来源: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回答

好帮手慕慕子

2020-05-09

同学你好,因为textChange一开始没有声明,默认是undefined,所以textChange==""这种写法进入不了while循环,无法弹出输入框。

那为什么写成textChange == "" || textChange == null这种就可以呢,因为在js语言中undefined派生自null,所以null和undefined值是相等的。如下:

http://img.mukewang.com/climg/5eb678b3099114e605920174.jpg

另,同学代码效果实现是正确的。

如果我的回答帮助到了你,欢迎此案,祝学习愉快~

0

0 学习 · 40143 问题

查看课程