(function(){ window.myGlobal=42})();
console.error(myGlobal);


java -jar editor.jar --jscomp_warning undefinedVars

警告-未声明变量myGlobal

最佳答案

正如Rohan在评论中指出的那样,尽管您和我知道它们实际上是相同的,但是Closure编译器将window.myGlobalmyGlobal视为不同的事物。如果您需要在函数中定义它,则可以执行以下操作

var myGlobal;
(function() { myGlobal = 42; })();
console.log(myGlobal);


或者,在所有情况下都使用window

window.myGlobal = null;
(function() { window.myGlobal = 42; })();
console.log(window.myGlobal);

10-08 01:50