我正在查看来自 UglifyJS 的一些东西的输出,并且发生在一些代码中,如下所示:
var a = 0;
var b = function () {
return function () {
a++;
}(), 'Hello, World'
}();
运行该代码后a
是字符串。1
b
Hello, World!
乍一看,这似乎b
是undefined
因为它看起来像一个没有返回值的函数的结果被返回,但后面跟着一个逗号和一个字符串文字。
为什么这行得通?
为什么 UglifyJS 不只是执行匿名函数然后Hello, World!
作为下一条语句返回?