javascript - 为什么 iife 不能在一个简单的例子中工作?
问题描述
我不明白为什么函数表达式调用不起作用并引发错误。
你能给我解释一下吗?
var a = function (x) {
alert(x)
}
(function() {
a(1);
}());
谢谢大家
任务比我想象的要容易得多
解决方案
那是因为 JS 将 IIFE 解析为函数的参数调用,像这样添加分号
var a = function (x) {
alert(x)
};
(function() {
a(1);
}());
推荐阅读
- javascript - 无法读取 HTTP 消息:org.springframework.http.converter.HttpMessageNotReadableException:Fetch 调用中缺少必需的请求正文
- exception - 如何在 Cortex-M0 中禁用 PendSV?
- c# - 我应该如何升级使用代码合同的旧 C# 项目?
- angular - 当组件被销毁时,提供给组件的角度服务是否被销毁?
- c# - 如何正确地将英亩保存为从 C# 到 SQL 的小数
- json - 组件的 Apache Camel 默认数据格式
- jquery - 用于过滤的 DataTables 第二个标题行
- c# - 应用可以在 Unity 编辑器中运行,但不能在 Android 上运行
- java - 带有 UUID::toString 的“不能从静态上下文引用非静态方法”,但不适用于 Object::toString
- excel - 在excel中重构数据