我对 javascript 中自调用函数的执行流程有点困惑。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>
var test = function () {
alert("Test1##");
}
var test2 = function () {
alert("Test2!!");
}
(function () {
test();
})();
</script>
</body>
</html>
结果:Test2!!
。
我希望它会发出警报 Test1##
因为我正在调用该特定函数。
但是,如果我在每个函数后面包含分号 test
和test2
,结果就是我期望的那样:它会发出警报 Test1##
.
它是如何工作的?
最佳答案
您需要使用一些分号。否则,语句就会变得困惑。
我认为发生这种情况的原因是调用 test
的函数根本没有被调用,而是作为第一个参数传递给 test2
。
您可以在此处查看该行为:https://jsfiddle.net/ssgagr3k/
关于javascript - 自调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36506402/