【发布时间】:2021-07-05 14:43:41
【问题描述】:
代码如下:
<body>
<a href=\"javascript:;\" id=\"test\">hello</a>
</body>
<script type=\"text/javascript\">
document.getElementById(\"test\").addEventListener(\"click\", function () {
test()
}, false)
function test() {
var postTypes = new Array(\'hello\', \'there\')
(function() { alert(\'hello there\') })()
}
</script>
这将抛出:
\"Uncaught TypeError: object is not a function\"
如果我将匿名函数调用/调用包装在另一组括号中,它将执行警报,但仍然给我一个错误。如果我在 \"var postTypes\" 定义后加一个分号,那就完全没问题了。
我被引导相信 JavaScript 不需要分号,所以我猜测函数应用程序有一些奇怪的关联规则,我没有完全理解。为什么我会收到此错误?
-
看起来几乎就像您正在尝试创建匿名函数和静态函数并期望它作为一个执行。如果删除 function() 会发生什么
标签: javascript