为什么此错误的IIFE函数返回此错误

weijia_yu

我当时正在玩IIFE函数,但打错了它。将以下内容粘贴到控制台中,然后按Enter:

function A() {}("hello",6)

在控制台中,它打印6这是为什么?

费利克斯·克林

tl; dr:由于未执行,该函数不返回任何内容。


JavaScript解释器将解析为以下两个语句

一个函数声明

function A() {}

后跟一个表达式语句

("hello",6)

表达式语句由分组运算符组成,其中包含逗号运算,该运算符返回操作数的结果6

如注释中所述,如果希望将此解释为IIFE,请将函数定义(或整行)用括号括起来:

(function A() {})("hello",6)
// or
(function A() {}("hello",6))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章