在javascript代码中使用'return'有什么用处

Sak*_*vel 1 html javascript

在这个简单的例子中,'return'用于三个地方.所以,我只是混淆了在函数中使用'return'.什么是使用这个'return'何时在函数内部使用?主要是,我需要知道,在提交按钮上,"返回"用于"onclick"属性,请参见此处<input type="submit" value="submit" onclick="return validateR();">.所以,也解释一下,'返回'究竟在这里做了什么.请.

<HTML>
    <HEAD>
        <TITLE>ComboBox Validation</TITLE>
        <script Language="JavaScript">
            function validateR(){
                var selectedCombobox = (comboForm.technology.value);
                if (selectedCombobox == "-1") {
                    alert("Please Select Technology");
                    return false; //here
                }
                if (selectedCombobox == "Servlet") {
                   alert("Yse");
                }
                return true; //here
            }
       </script>
   </HEAD>
 <BODY>
    <form name="comboForm">
        <select name="technology">
            <option value="-1">Select</option>
            <option value="JSP">Java Server Pages</option>
            <option value="Servlet">Servlet</option>
            <option value="PHP">PHP</option>
            <option value="ASP">ASP</option>
        </select>
        <input type="submit" value="submit" onclick="return validateR();">  //here
    </form>
 </BODY>
</HTML>
Run Code Online (Sandbox Code Playgroud)

Chr*_*ton 6

当你有一个事件处理程序,例如

<input type="submit" value="submit" onclick="return validateR();">
Run Code Online (Sandbox Code Playgroud)

您可以向活动返回一个值.如果返回值false,则会阻止事件的默认行为.您可以向onsubmit事件返回false以阻止提交页面.

总结一下,

return validateR() --> return true (or false) --> prevents default behavior of event
Run Code Online (Sandbox Code Playgroud)

此行为在所有浏览器中都是标准化的 它后来被组合所取代event.preventDefaultevent.stopPropogation,这基本上做同样的事情.但是,有些人更喜欢内联语法(return func();),它也适用于旧版本的IE.

我掩饰了一些关于事件冒泡的微妙之处.以下是一些更深入讨论的参考: