关于全局变量

来源:2-13 编程练习

我不是胖球球

2021-06-10 10:36:12

相关代码:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div {
            width: 300px;
            text-align: center;
        }
        .btn3 {
            margin-top: 15px;
        }
    </style>
</head>

<body>
    <!-- 1.当输入用户名为“张三”,密码是“123456”时,则跳转到慕课网首页。
    2.当输入的用户或者密码错误时,则弹出“信息不对!” -->
    <div>
        <span>用户名</span>
        <input type="text" id="btn1" value=""><br>
        <span>密&nbsp;&nbsp;&nbsp;码</span>
        <input type="password" id="btn2" value=""><br>
        <button type="submit" id="btn3" class="btn3">登录</button>
    </div>

    <script>
        var oBtn1 = document.getElementById('btn1');
        var oBtn2 = document.getElementById('btn2');
        var oBtn3 = document.getElementById('btn3');
        
        // 变量定义为全局变量则运行出错,是为什么呢?
        // var n = oBtn1.value;
        // var m = oBtn2.value;

        oBtn3.onclick = function () {
            var n = oBtn1.value;
            var m = oBtn2.value;
            if (n == '张三' && m == '123456') {
                window.location = 'https://www.imooc.com';
            } else {
                alert('信息不对');
            }
        };

    </script>

</body>

</html>

问题描述:

变量定义为全局变量则运行出错,是为什么呢?

相关截图:

http://img.mukewang.com/climg/60c17a8509651e1d19690541.jpg

写回答

1回答

好帮手慕星星

2021-06-10

同学你好,代码实现效果正确。

针对提问回复:

输入框内容是我们手动输入的,所以不能在手动输入前去获取内容,否则为空字符串,可以输出看看

http://img.mukewang.com/climg/60c189240941964c03040120.jpg

http://img.mukewang.com/climg/60c18931092370ec16300084.jpg

当我们手动点击按钮时,输入框已经有内容了,所以可以获取到。

如果想要定义全局变量,可以这样

http://img.mukewang.com/climg/60c189a209f635bd06130402.jpg

祝学习愉快!

0

0 学习 · 15276 问题

查看课程