JavaScript eval()

JavaScript eval()

JavaScript中的
eval()函数用于计算表达式。这是JavaScirpt的全局函数,该函数将指定的字符串作为JavaScript代码求值并执行。
eval()函数的参数是一个字符串。如果参数表示语句,则eval()评估语句。如果参数是表达式,则eval()评估表达式。如果
eval()的参数不是字符串,则函数将返回不变的参数。
使用
eval()有一些限制。由于安全原因,不建议使用
eval()函数之类的函数。不建议使用它,因为它比较慢并且会使代码不可读。

语法

 eval(string)

它接受单个参数,其定义如下。
string::它表示一个 JavaScript表达式,单个语句或语句序列。它可以是变量,语句或JavaScript表达式。
通过使用插图来理解JavaScript
eval()函数。

Example1

这是使用
eval()函数评估表达式的简单示例。在此示例中,有一些变量。我们将eval()函数应用于变量a,b和c,以计算总和,乘法和减法。
 <html>
<head>
<script>
var a = 10, b = 20, c = 30, sum, mul, sub;
sum = eval(" a + b + c ");
mul = eval(" a * b * c");
sub = eval(" a - b");
document.write(sum + "<br>");
document.write(mul + "<br>");
document.write(sub);
</script>
</head>
<body>
</body>
</html>
执行上述代码后,输出为-
60

6000

-10

Example2

在此示例中,我们使用
eval()函数调用函数。这里有一个带有两个参数的函数
fun(),并返回两个参数的乘法。
我们在
eval()中调用该函数函数,并将结果存储在
res 变量中。
 <html>
<head>
<script>
var res;
function fun(a, b)
{
return a * b;
}
eval("res = fun(50, 50);");
document.write(res);
</script>
</head>
<body>
</body>
</html>
代码执行后,输出将为-
2500

示例3-使用JavaScript语句评估字符串

在此示例中,我们使用
eval()函数评估字符串使用JavaScript语句。这里是字符串
str ,具有JavaScript条件
if-else 语句。我们匹配变量
'x'的值,如果
x 的值是
0 ,则输出将为
'SUNDAY ',否则输出将为
'MONDAY'
 <html>
<head>
<script>
var x = 0;
var str = "if(x == 0) {'SUNDAY'} else 'MONDAY';";
document.write('输出为 : ', eval(str));
</script>
</head>
<body>
</body>
</html>
代码执行后,输出为-
输出为:SUNDAY

示例-将字符串转换为JavaScript对象

在此示例中,我们将字符串转换为JSON对象。在这里,字符串
str 包含与代码相反的数据。我们必须将数据切换为JSON,该字符串允许字符串使用JavaScript语法的子集来表示数据。
在这里,我们使用对象
obj 表示数据。
 <html>
<head>
<script>
var str = '({"fname" : "Harry", "lname" : "Rickman"})';
var obj = eval(str);
document.write(obj.fname + " " + obj.lname);
</script>
</head>
<body>
</body>
</html>
代码执行后,输出为-
Harry Rickman