Javascript 立即调用函数表达式导致错误?
有人能解释为什么会发生这种情况吗 如果我在一个名为test.js的文件中写这样的东西 使用$node test.js通过控制台运行它 然后在控制台中,一个你好的世界!将被打印,但随后是: TypeError:中间值不是函数 我不知道这里到底发生了什么,我想node会把函数表达式当作函数调用表达式吗 我使用的是node v6.9.1您可以使用void进行调用,而不使用分号 这将强制表达式求值并返回未定义的值 常量anyObject={} 空函数{ 控制台。记录“你好,世界!” } 您可以使用void进行调用,而不使用分号 这将强制表达式求值并返回未定义的值 常量anyObject={} 空函数{ 控制台。记录“你好,世界!” } 使用分号 语法在你的生活中是不同的 const anyObject={}; 函数{ console.log'helloworld!'; }; 使用分号 语法在你的生活中是不同的 const anyObject={}; 函数{ console.log'helloworld!';Javascript 立即调用函数表达式导致错误?,javascript,node.js,iife,Javascript,Node.js,Iife,有人能解释为什么会发生这种情况吗 如果我在一个名为test.js的文件中写这样的东西 使用$node test.js通过控制台运行它 然后在控制台中,一个你好的世界!将被打印,但随后是: TypeError:中间值不是函数 我不知道这里到底发生了什么,我想node会把函数表达式当作函数调用表达式吗 我使用的是node v6.9.1您可以使用void进行调用,而不使用分号 这将强制表达式求值并返回未定义的值 常量anyObject={} 空函数{ 控制台。记录“你好,世界!” } 您可以使用vo
};出于对一切的热爱,请使用分号,检查你的括号,生命通常是这样展示的;作用因为懒惰的程序员不会在他们应该使用分号的地方使用分号…在代码上使用一个linter来处理这样的问题。。。尽管如此,我怀疑你会厌倦在最短的代码中漏掉分号的错误——这是一个很好的例子,说明了人们在懒惰时是如何陷入麻烦的,并且漏掉了分号;作用因为懒惰的程序员不会在他们应该使用分号的地方使用分号…在代码上使用一个linter来处理这样的问题。。。尽管如此,我怀疑你会厌倦在最短的代码段中丢失分号错误——这是一个很好的例子,说明了当人们变得懒惰而忽略了分号时,他们是如何陷入麻烦的。
const anyObject = {}
(function(){
console.log('hello world!')
}())