在用google closure compiler编译JS文件时发现eval无法通过,有谁知道怎么解决这个问题啊?
下面为要用closure compiler编译的测试JS代码,详细见资源文件。
- JScript code
(function(){ var Effects = window.Effects = function(){ var transTotal = 10; this.transition = function (maskID, maskTime){ if (maskID <= transTotal) { var maskFunName = "mask" + maskID; eval(maskFunName)(maskTime); //这里因为使用了eval方法所以造成无法通过google closure compiler编译,如何才能使编译正常通过? } else { mask1(maskTime); } } function mask1(maskTime) { alert("mask1: " + maskTime); } function mask2(maskTime) { alert("mask2: " + maskTime); } function mask3(maskTime) { alert("mask3: " + maskTime); } /* . . . ...下面还有很多mask函数. */ }; })(); var masker = new Effects(); masker.transition(3, 2); masker.transition(30, 8);
------解决方案--------------------