Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS的IIFEs(立即调用的函数表达式)的位置会导致意外错误_Javascript_Iife - Fatal编程技术网

Javascript JS的IIFEs(立即调用的函数表达式)的位置会导致意外错误

Javascript JS的IIFEs(立即调用的函数表达式)的位置会导致意外错误,javascript,iife,Javascript,Iife,以下包含IIFE的代码在节点(节点:v8.6.0)环境中导致错误 function A(){} A() (function(){})() ​​​​​​(…)不是函数​​ 这个错误信息让我感到困惑 如果我更改IIFE的位置,代码将在节点中成功运行 (function(){})() function A(){} A() 我在谷歌上搜索了答案,但没有找到原因。在这段代码中: function A(){} A() (function(){})() 第三行是从()开始的,JS解析器将其解释为函数调用

以下包含IIFE的代码在节点(节点:v8.6.0)环境中导致错误

function A(){}
A()
(function(){})()
​​​​​​(…)不是函数​​

这个错误信息让我感到困惑

如果我更改IIFE的位置,代码将在节点中成功运行

(function(){})()
function A(){}
A()
我在谷歌上搜索了答案,但没有找到原因。

在这段代码中:

function A(){}
A()
(function(){})()
第三行是从
)开始的,JS解析器将其解释为函数调用

您可以尝试以下方法:

function A(){}
A(); // <-----
(function(){})()
两者都能解决问题


避免用
[

盯着行,如果你使用
你可以绕过这个问题

表达式应以
结尾以避免此问题:

function A(){}
A();
(function(){})()

很好。你的回答解决了我的问题。将结果分配给变量也解决了问题。const test=(function(){})()
function A(){}
A();
(function(){})()