eval()的作用
把字符串参数解析成JS代码并运行,返回执行的结果;
eval的作用域
functiona(){
eval("var x=1"); //等效于 var x=1;
console.log(x); //输出1
}
a();
console.log(x);//错误 x没有定义
作用域在它所在的范围内容有效
functiona(){
window.eval("var x=1"); // 等效于window.x=1;定义了全局变量
console.log(x); //输出1
}
a();
console.log(x);//输出1
注意事项
应该避免使用eval
1、不安全(在使用eval函数为用户输入数据执行操作的时候存在代码注入的风险)
2、耗性能(两次,一次解析成js语句,一次执行)。