JavaScript eval()函数

JavaScript eval()函数

JavaScript中的 eval() 函数用于评估表达式。它是JavaScript的全局函数,用于评估指定的字符串作为JavaScript代码并执行它。

eval() 函数的参数是一个字符串。如果参数表示语句, eval() 将评估语句。如果参数是一个表达式, eval()将评估表达式。如果 eval() 的参数不是一个字符串,函数将原样返回参数。

使用 eval() 函数存在一些限制,例如出于安全原因不推荐使用 eval()函数。不推荐使用它是因为它会使代码运行变慢且不易读。

语法

eval(string)

数值

它接受一个参数,定义如下。

字符串: 它表示一个JavaScript表达式、单个语句或语句序列。它可以是变量、语句或JavaScript表达式。

让我们通过示例来理解JavaScript eval() 函数。

示例1

这是一个使用 eval() 函数评估表达式的简单示例。在这个示例中,有一些变量。我们正在对变量a、b和c应用eval()函数来计算它们的和、乘积和差。

<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 

示例2

在这个示例中,我们使用 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 ,输出将是 ‘星期日’ ,否则输出将是 ‘星期一’

<html>
<head>
<script>
var x = 0;
var str = "if(x == 0) {'SUNDAY'} else 'MONDAY';";

document.write('The output is : ', eval(str));
</script>
</head>

<body>
</body>
</html>

输出

在代码执行后,输出结果为 –

The output is : SUNDAY

示例4 – 将字符串转换为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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程