有人能解释一下为什么会发生这种情况吗?
如果我在一个名为test.js
的文件中写这样的东西,
const anyObject = {}
(function(){
console.log('hello world!')
}())
使用$node test.js
通过控制台运行它
然后在控制台中,将打印hello world!
,但后面将显示:TypeError: (intermediate value) is not a function
我不知道那里到底发生了什么,我猜不知怎么的节点把函数表达式当作函数调用表达式了?
我使用的是节点v6.9.1
2条答案
按热度按时间qrjkbowd1#
您可以使用
void
进行呼叫,而不使用分号。这会胁迫运算式评估并传回
undefined
。即使没有外括号,它也能工作。
cbeh67ev2#