我是 Grunt 和 grunt-contrib-uglify 的新手。我创建了一个测试 JavaScript 文件:
function global(window) {
window.test = alert("Test");
test();
})(window);
当它被丑化时,它显示为
!function(a){a.test=alert("Test"),test()}(window);
我对两件事感到困惑:
("Test")
为什么和之间有逗号而不是分号test
?- 这段代码实际上是如何产生预期结果的?
当我在 Chrome 中运行它时,会适当地出现一个警报,但控制台会抱怨Uncaught TypeError: test is not a function
。当我通过 JSHint 运行它时,它报告:“期望一个赋值或函数调用,而是看到一个表达式。”
grunt-contrib-uglify 是否利用了 Chrome 和我都不完全理解的 JavaScript 方面?