把字符串参数解析成JS代码并运行,并返回执行的结果;
例如:
1、eval("2+3");//执行加运算,并返回运算值。
2、eval("varage=10");//声明一个age变量
例如1:
functiona(){
eval("var x=1"); //等效于 var x=1;
console.log(x); //输出1
}
a();
console.log(x);//错误 x没有定义
示例2:
functiona(){
window.eval("var x=1"); // 等效于window.x=1;定义了全局变量
console.log(x); //输出1
}
a();
console.log(x);//输出1
应该避免使用eval,不安全,非常耗性能(2次,一次解析成js语句,一次执行)
在IE8及IE8一下的版本就不支持了。
由JSON字符串转换为JSON对象的时候可以用eval,例如:
1、varjson="{name:'Mr.CAO',age:30}";
2、varjsonObj=eval("("+json+")");
3、console.log(jsonObj);