私は Grunt と grunt-contrib-uglify を初めて使用します。テスト JavaScript ファイルを作成しました。
function global(window) {
window.test = alert("Test");
test();
})(window);
これを醜くすると、次のように表示されます。
!function(a){a.test=alert("Test"),test()}(window);
私は2つのことで混乱しています:
("Test")
と の間にセミコロンではなくコンマがあるのはなぜtest
ですか?- このコードが実際に期待される結果を生成するのはどうしてでしょうか?
Chrome で実行すると、アラートは適切に表示されますが、コンソールは不平を言いUncaught TypeError: test is not a function
ます。JSHint で実行すると、「代入または関数呼び出しが予期され、代わりに式が見られました」と報告されます。
grunt-contrib-uglify は、Chrome も私も完全に理解していない JavaScript の側面を利用していますか?