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