javascript - 如何突出显示Javascript缺少括号的调用函数

标签 javascript debugging

在以下 HTML/Javascript 代码段中,我在 onclick 语句中缺少函数的括号(应为:onclick="showMessage()")。

如何突出显示缺少的括号

(a)在显示页面之前在记事本中。

(b) 在我显示页面后在我的浏览器 JS 控制台中?

如果除了检查之外不可能做到这一点,还有其他方法可以更轻松地识别此问题吗?

<html>
<head>
    <script>
        function showMessage() {
            document.getElementById("messageArea").innerHTML = "Hello World";
        }
    </script>
</head>
<body>
    <input type="button" value="Show message" onclick="showMessage">
    <div id="messageArea">---</div>
</body>
</html>

最佳答案

问题是 onclick 采用任何类型的 JavaScript 表达式,函数执行就是其中之一。例如:

<script>
    var a = 10
</script>

<!--All are valid and don't throw any errors -->

<button onclick="a">Nothing happens</button> 
<button onclick="a++">Increment</button> 
<button onclick="alert(a)">Check value</button>
<button onclick="undefined">Surely Not?</button>

执行像 showMessage() 这样的函数是它的主要用途之一。从技术上讲,在 onclick 中使用 showMessage 而没有 () 并不是一个错误。 showMesage 只是函数定义,如果您在浏览器控制台中输入 showMessage 并按 Enter 键,它只会返回函数定义,不会抛出任何错误。因此 IDE 不会将其作为错误下划线,因为它不是错误。

关于javascript - 如何突出显示Javascript缺少括号的调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46144538/

相关文章:

javascript - 为什么我的 json 数据没有使用 javascript 按正确的顺序加载?

debugging - 禁用 Chrome "plugin not responding"消息

c - 调试 - 字符串问题

c++ - gdb 无法索引到数组并打印值

javascript - Node.js:有哪些技术可以编写干净、简单的回调代码?

java - 如何访问 javascript 中的 servlet 变量

javascript - 如何从 Chrome 扩展程序在 Windows 机器上打开另存为对话框?

c# - 将调试器附加到 IIS 实例

c# - foreach 循环不会遍历列表中的所有项目 - C#

javascript - 将 JS 放在文档头部是否有正当理由?