js eval函数(eval()函数的作用是什么)

 分类:js知识时间:2022-07-13点击:

js中的eval函数是什么?eval函数是一种接受字符串作为参数,并且可以将接受的字符串转换成js表达式并且立即执行该表达式;js eval函数()的作用是把字符串参数解析成 JS 代码并运行,并返回执行的结果。

js eval函数

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);


除注明外的文章,均为来源:老汤博客,转载请保留本文地址!
原文地址: