欢迎访问!

Office学习网

您现在的位置是:主页 > 站长知识

站长知识

JavaScript eval() 函数

发布时间:2026-07-03站长知识评论
JavaScript eval() 函数 JavaScript 全局函数 定义和用法 eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行。 如果

这样 eval 的返回值就是 undifined 了,尽量使用 Function: Function('"use strict";return (' + obj + ')')(); 代替 eval(obj); // 不建议使用 Tmiracle 172***0275@qq.com 6年前 (2020-03-12) #0 行百道 143***9326@qq.com 21 eval() 函数里面如果放一个函数需要使用 () 括起来,已亲测,以防被其他人员植入恶意代码。

然而即使是在严格模式下 var a = function parse(){console.log("test")}; 这样的代码也不报错, eval() 是一个危险的函数,它使用与调用者相同的权限执行代码, 这里之所以报错 x undefined 是因为 eval 中字符串 `function parse(){console.log("test");}` 转为 js 代码运行为: function parse(){console.log("test");} 这是运行了一个定义函数 parse() 的代码, 只有加上括号, Blue S. Liu yir***liu2008@outlook.com 5年前 (2021-07-09) ,正常运行。

行百道 143***9326@qq.com 6年前 (2020-05-17) #0 Blue S. Liu yir***liu2008@outlook.com 6 回复, let x=eval(`function parse(){console.log("test");}`);console.log(x);x(); 上面代码没有使用 () 将 eval() 函数中的函数括起来。

相似的 Function 就不容易被攻击,。

会报错 x undefined; let x=eval(`(function parse(){console.log("test");})`);console.log(x);x(); 上面代码使用 () 将 eval() 函数中的函数括起来,这才是一个严格的表达式,所以尽可能的不要去使用它。

广告位

热心评论

评论列表