为什么可以用这样的JavaScript调用函数,用node.js测试:
~$ node
> function hi() { console.log("Hello, World!"); };
undefined
> hi
[Function: hi]
> hi()
Hello, World!
undefined
> hi)( // WTF?
Hello, World!
undefined
>
Run Code Online (Sandbox Code Playgroud)
为什么最后一次通话hi)(有效?它是node.js中的bug,V8引擎中的bug,官方未定义的行为,还是所有解释器的实际有效JavaScript?