eval()的作用
把字符串参数解析成js代码并运行,并返回执行的结果;
eval的作用域
作用域在它所有的范围内容有效
IE8及以下指向window
解决方法:
- functiona(){
- if(window.execScript){ // 支持IE8及以下的版本
- window.execScript("var x=1");
- }
- else{ //常用的浏览器都支持
- window.eval("var x=1");
- }
- console.log(x);
- }
- a();
- console.log(x);
注意事项
应该避免使用eval,不安全,非常耗性能(2次,一次解析成js语句,一次执行)。