首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

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

2012-02-29 
eval无法通过google closure compiler的问题在用google closure compiler编译JS文件时发现eval无法通过,有

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);

热点排行