eval函数是动态生成代码的一种强大而简单的方法,那么需要注意什么呢?

推荐答案

  1. 不恰当地使用eval会打开你的电脑

  2. Debugging可能更具挑战性

  3. 判断代码执行速度较慢(没有编译/缓存判断代码的机会)

编辑:正如@Jeff Walden在 comments 中指出的那样,现在的#3已经不像2008年那样正确了.然而,虽然编译后的脚本可能会发生一些缓存,但这将仅限于未经修改而重复计算的脚本.一种更有可能的情况是,您正在判断每次都经过轻微修改的脚本,因此无法缓存.这么说吧,某些计算过的代码执行起来更慢.

Javascript相关问答推荐

Angular中计算信号和getter的区别

如何找出摆线表面上y与x相交的地方?

为什么当我解析一个promise时,输出处于挂起状态?

手机上的渲染错误文本必须在文本组件中渲染,但在浏览器上没有问题<><>

在286之后恢复轮询

如何通过使用vanilla JS限制字体大小增加或减少两次来改变字体大小

制作钢琴模拟器,并且在控制台中不会执行或显示该脚本

类构造函数不能在没有用With Router包装的情况下调用

有条件重定向到移动子域

如何在 Select 文本时停止Click事件?

Vaadin定制组件-保持对javascrip变量的访问

有没有一种直接的方法可以深度嵌套在一个JavaScript对象中?

当我点击一个按钮后按回车键时,如何阻止它再次被点击

如何在AG-Grid文本字段中创建占位符

如何在TransformControls模式下只保留箭头进行翻译?

在ChartJS中使用spanGaps时,是否获取空值的坐标?

Chart.js Hover线条在鼠标离开时不会消失

如何使pdf.js上的文本呈现为可选?

在ReactJS上挂载组件时获得多个身份验证请求

鼠标进入,每秒将图像大小减小5%