JavaScript eval() 函数

2025年3月17日 | 阅读 3 分钟

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

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

使用 eval() 函数存在一些限制,例如出于安全原因,不建议使用 eval() 函数。因为它速度较慢且会使代码难以阅读,因此不建议使用。

语法

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

string: 它表示一个 JavaScript 表达式、单个语句或一系列语句。它可以是变量、语句或 JavaScript 表达式。

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

示例 1

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

输出

执行上述代码后,输出将是 -

60
6000
-10 

示例 2

在此示例中,我们使用 eval() 函数调用一个函数。这里有一个名为 fun() 的函数,它有两个参数并返回这两个参数的乘积。

我们在 eval() 函数中调用该函数,并将结果存储在 res 变量中。

输出

代码执行后,输出将是:

2500

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

在此示例中,我们使用 eval() 函数来评估带有 JavaScript 语句的字符串。这里有一个名为 str 的字符串,其中包含 JavaScript 的 if-else 条件语句。我们正在匹配变量 'x' 的值,如果 x 的值为 0,则输出为 'SUNDAY',否则输出为 'MONDAY'

输出

代码执行后,输出将是:

The output is : SUNDAY

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

在此示例中,我们将字符串转换为 JSON 对象。这里,字符串 str 包含与代码相反的数据。我们需要将其转换为 JSON,这允许字符串使用 JavaScript 语法的一个子集来表示数据。

这里,我们使用对象 obj 来表示数据。

输出

代码执行后,输出将是:

Harry Rickman