您现在的位置是:首页 > 电脑技术查询 > web开发

eval无法通过google closure compiler的有关问题

编辑:chaxungu时间:2022-10-02 23:17:04分类:web开发

eval无法通过google closure compiler的问题
在用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);

------解决方案--------------------
探讨

大哥你试过没,怎么按你说的这样我这还是不行啊?引用:

把eval(maskFunName)(maskTime);

换成
var fn = eval(maskFunName);
fn(maskTime);