var foo = function(a) {
eval(a);
};
foo("return; ");
此时报错:return not in function;
也就是说执行eval()的上下文环境是调用foo函数的上下文环境(即全局)
var test = function(a) {
var x = 0;
eval(a);
return x;
}
console.log(test("x++;"));
控制台输出1;
此时执行eval()的上下文环境是test函数里面,而不是在全局
这是为什么?
相关分类