【发布时间】:2016-04-08 18:05:57
【问题描述】:
我对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##。
它是如何工作的?
【问题讨论】:
-
JavaScript 不是一种以空格分隔的语言。把分号放进去。
-
"但是,如果我在每个函数后面加上分号......结果就是我期望的结果" - 这就是为什么使用分号是个好主意.
-
在 javaScript 中声明变量后必须包含分号,否则可能会打印出意外结果。 var test = function () { alert("Test1##"); }; var test2 = function () { alert("Test2!!"); }; (函数 () { test(); })();
标签: javascript