return;测试

一 没有return;,则会顺序执行到最后

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8"/>
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
        <title>return验证测试</title>
        <script language="javascript">
            function Login_Click1()
            {
                if(document.form1.UsName.value=="")
                {
                    alert('用户名为空1');
                }
                if(document.form1.UsPwd.value=="")
                {
                    alert('密码为空1');
                }
                alert('登陆成功1');
                doTest();
            }
            doTest= function () { //在Login_Click1中调用此函数
                alert('全部显示成功1');
            }
            
            function Login_Click2()
            {
                if(document.form1.UsName.value=="")
                {
                    alert('用户名为空2');
                }
                if(document.form1.UsPwd.value=="")
                {
                    alert('密码为空2');
                }
                alert('登陆成功2');
            }
        </script>
    </head>
    <body>
        <form name="form1">
            <input type="text" name="UsName" >用户名
            <input type="password" name="UsPwd">密码<br />
            <input type="button" name="Login" onClick="Login_Click1();" value="登陆1"> <br />
            <input type="button" name="Login" onClick="Login_Click2();" value="登陆2"> <br />
        </form>
    </body>
</html>

测试结果:执行Login_Click1和doTest和Login_Click2里面全部内容

二 有return;则会跳出当前函数和与当前函数有关的函数,继续执行下一个新函数

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8"/>
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
        <title>return验证测试</title>
        <script language="javascript">
            function Login_Click1()
            {
                if(document.form1.UsName.value=="")
                {
                    alert('用户名为空1');
                    return;
                }
                if(document.form1.UsPwd.value=="")
                {
                    alert('密码为空1');
                }
                alert('登陆成功1');
                doTest();
            }
            doTest= function () { //在Login_Click1中调用此函数
                alert('全部显示成功1');
            }
            
            function Login_Click2()
            {
                if(document.form1.UsName.value=="")
                {
                    alert('用户名为空2');
                }
                if(document.form1.UsPwd.value=="")
                {
                    alert('密码为空2');
                }
                alert('登陆成功2');
            }
        </script>
    </head>
    <body>
        <form name="form1">
            <input type="text" name="UsName" >用户名
            <input type="password" name="UsPwd">密码<br />
            <input type="button" name="Login" onClick="Login_Click1();" value="登陆1"> <br />
            <input type="button" name="Login" onClick="Login_Click2();" value="登陆2"> <br />
        </form>
    </body>
</html>

测试结果:只执行Login_Click1的alert('用户名为空1');不执行它调用的doTest函数,但执行Login_Click2函数里面全部内容

原文地址:https://www.cnblogs.com/lily1010/p/5773780.html