eval

eval 运行代码时会生成作用域
 
可计算某个字符串,并执行其中的的 JavaScript 代码。
var a   =  "test" ,   b = "a";
eval(b);
会输出test
 
当运行eval(src)的时候,是在调用eval方法的scope里面执行src代码,那么如果需要src运行到全局scope应该:
 
var globalEval = function globalEval(src) {
    if (window.execScript) {
        window.execScript(src);                                      //ie才有的方法
        return;
    }
    var fn = function() {                                            //Firefox曾经一个bug,alert(this)不是返回window object
        window.eval.call(window,src);                               
    };
    fn();
};
 

posted on 2016-01-27 14:12  迷茫小飞侠  阅读(158)  评论(0编辑  收藏  举报

导航