js eval函数(eval()函数的作用是什么)
js中的eval函数是什么?eval函数是一种接受字符串作为参数,并且可以将接受的字符串转换成js表达式并且立即执行该表达式;js eval函数()的作用是把字符串参数解析成 JS 代码并运行,并返回执行的结果。
1、eval()函数介绍
1)如果是一个表达式,eval函数将执行表达式
2)如果是字符串,会先转换成js语句然后执行
eval('var num=10;') var arr=eval('[1,2,3]') console.log(num); //10 console.log(typeof arr); //Object
需求:将对象转成eval函数
var obj=eval('{name:"jia",age:18}'); //会报错,首先eval将{}解释成代码块 var obj=eval( ' ({name:"jia",age:18}) ' ); //使用() 将其转换成表达式,{}不在是语句块了,就是对象了 console.log(obj); //{name: "jia", age: 18} console.log(typeof obj); //Object
2、js eval函数()的作用
把字符串参数解析成 JS 代码并运行,并返回执行的结果;
例如:
(1.1)eval("2+3");//执行加运算,并返回运算值。
(1.2)eval("varage=10");//声明一个 age 变量
3、eval 的作用域在它所有的范围内容有效
例如 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
4、注意事项
应该避免使用 eval,不安全,非常耗性能(2 次,一次解析成 js 语句,一次执行)在 IE8 及 IE8 一下的版本就不支持了。
5、其它作用
由 JSON 字符串转换为 JSON 对象的时候可以用 eval,例如:
(4.1)varjson="{name:'Mr.CAO',age:30}";
(4.2)varjsonObj=eval("("+json+")");
(4.3)console.log(jsonObj);
原文地址:https://tangjiusheng.cn/js/491.html