javascript - 在 Javascript/HTML 中获取 ReferenceError 说“函数未定义”

标签 javascript html referenceerror

我正在运行一些带有嵌入式 JavaScript 的非常普通的 HTML 代码。我使用“onClick”来引用前面几行声明的 JavaScript 函数。该脚本很简单,只应该显示一个包含“关于”信息的警报。

<!DOCTYPE=html>
<html>
    <head>
        <title>MyApp - Main Menu</title>
        <link rel="stylesheet" type="text/css" href="MyApp.css">
    </head>
    <body>
        <div id="CONTAINER">
             <div id="ONEIT1">
                 <img src="oneit_black.jpg">
             </div>
             <div id="ONEIT2">
                 <img src="oneit_black.jpg">
             </div>
             <div id="BANNER">
                 <h1>MyApplication</h1>
                 <h3>Main Menu</h3>
             </div>
             <div id="MENUBAR">
                 <script type="text/javascript">
                    function ABOUT_ALERT(node)
                    {{
                        return alert("Version 1.00");
                    }}
                 </script>
                 <ul>
                     <li><a href="mailto:somebody@email.com">Contact Admin</a></li>
                     <li><a href="#" onclick="return ABOUT_ALERT(this);">About MyApp</a></li>
                     <li>Something</li>
                     <li><form action="MyApp.py" method="post">
                        <input type="hidden" name="VAR_STATE" value="LOGOUT">
                        <input type="submit" value="Logout">
                     </li>
                </ul>
             </div>
        </div>
    </body>
</html>

但是,警报无法打开或显示,当我在 F12 开发人员工具中打开它时,我看到它告诉我我的函数 ABOUT_ALERT 未定义:

引用错误:ABOUT_ALERT 未定义

我在其他基于网络的应用程序中的其他地方使用了完全相同的代码,没有任何问题。有人看到我在这里做错了什么吗?注意:我的 javascript 函数周围的双“{{”和“}}”是因为它是从 Python 运行的,而且我通常会进行大量 {xyz} 格式化/替换,因此必须使用 double 。

最佳答案

                function ABOUT_ALERT(node)
                {{
                    return alert("Version 1.00");
                }}

应该是:

                function ABOUT_ALERT(){
                    alert("Version 1.00");
                }

此外,您的函数被声明为接受一个参数,并且您将一个参数传递给该函数,但该函数没有对该参数执行任何操作。

此外,您不需要任何 return 关键字,因为没有任何值被发送到任何地方。

最后,将 JavaScript 放在网页的 head 部分或 body 结束之前,以提高可读性。

                    function ABOUT_ALERT() {
                        alert("Version 1.00");
                    }
        <div id="CONTAINER">
             <div id="ONEIT1">
                 <img src="oneit_black.jpg">
             </div>
             <div id="ONEIT2">
                 <img src="oneit_black.jpg">
             </div>
             <div id="BANNER">
                 <h1>MyApplication</h1>
                 <h3>Main Menu</h3>
             </div>
             <div id="MENUBAR">
                 <ul>
                     <li><a href="mailto:somebody@email.com">Contact Admin</a></li>
                     <li><a href="#" onclick="ABOUT_ALERT();">About MyApp</a></li>
                     <li>Something</li>
                     <li><form action="MyApp.py" method="post">
                        <input type="hidden" name="VAR_STATE" value="LOGOUT">
                        <input type="submit" value="Logout">
                     </li>
                </ul>
             </div>
        </div>

关于javascript - 在 Javascript/HTML 中获取 ReferenceError 说“函数未定义”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40771775/

相关文章:

javascript - 谷歌分析;跟踪出站点击;如何?

javascript - 为什么在 foo :bar() function call return ReferenceError instead of SyntaxError? 中使用冒号

javascript - JavaScript有左值和右值的概念吗?

javascript - 是否可以在 Javascript 中添加过渡(如 CSS)?

javascript - 如何从 .t​​s 文件中读取 .js 文件中的常量

javascript - 使用 Python Selenium 在几秒后隐藏的元素上抓取 Javascript React 页面

javascript - 在 wordpress 中执行 javascript

html - 隐藏滚动条的干净方法?

php - 价格低-高/高-低过滤 PHP/Mysql

javascript - 如何在 JavaScript 中捕获 NetworkError?