JavaScript eval() 函数

JavaScript eval() 语法

eval() 是 JavaScript 的一个全局函数,它用于将一个字符串的内容作为 JavaScript 代码执行,并返回运行结果。

语法:

eval(string)

说明:

eval() 方法接收单个参数。

  • string(必选):是一个字符串,该字符串可以包含 JavaScript 表达式、语句等。如果 string 为空字符串,则返回 undefined

注意: 使用 eval() 来从字符串执行 JavaScript,这会导致巨大的安全风险(如 XSS 跨站脚本攻击)。因此在实际开发中,能不用 eval() 就不用它。如果非要使用,则一定要特别小心。

JavaScript eval() 摘要

属于 JavaScript 全局对象
使用频率 低(应避免使用)
官方文档 查看
MDN 查看

JavaScript eval() 示例

接下来,我们通过几个简单的例子来讲解一下 JavaScript eval() 是如何使用的。

示例 1:eval() 执行一个表达式

const str = "10 + 20";
console.log(eval(str));

运行结果如下。

30

分析:

注意,str 本质上是一个字符串。不过 eval() 函数会自动将其识别为一段 JavaScript 代码,然后来执行。

示例 2:eval() 执行一条语句

const str = "console.log(1+2+3);";
eval(str);

运行结果如下。

6

示例 3:eval() 执行一段代码

const str = `
    const arr = [1, 2, 3, 4, 5];
    const result = arr.map(element => element * 2);
    console.log(result);
`;
eval(str);

运行结果如下。

[ 2, 4, 6, 8, 10 ]

示例 4:eval() 执行非代码字符串

const str = "lvyenet";
eval(str);

运行结果如下。

(报错)ReferenceError: lvyenet is not defined

分析:

在这个例子中,eval() 函数会将 “lvyenet” 视为一个变量。由于该变量未定义,因此这里会报错。

上一篇: isFinite()

下一篇: encodeURI()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号