您的位置:首页 > 其它

eval全局作用域和局部作用域的坑!

2016-02-16 10:56 225 查看
1、eval 是个函数,他可以被赋值给变量,例如 var evalg = eval; evalg("alert(1)");

2、eval被赋值时,也会把当前eval所处的变量作用域也赋值过去;

var x = 1,evalg = eval;
function a(){
var x = 3;
eval("alert(x)");//3
evalg("alert(x)");//1
}

//IE9之前的浏览器  没有全局eval的概念, 但是可以用  execScript()来代替

var x = 1;
function a(){
var x = 3;
eval("alert(x)");//3
execScript("alert(x)");//1
}


ECMAScript5严格模式 eval将成为保留字
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: