当前位置: 首页 > 编程笔记 >

为什么使用JavaScript eval()函数是个坏主意?

尹超
2023-03-14
本文向大家介绍为什么使用JavaScript eval()函数是个坏主意?,包括了为什么使用JavaScript eval()函数是个坏主意?的使用技巧和注意事项,需要的朋友参考一下

JavaScripteval()用于执行参数。eval()使用该方法时,代码执行速度较慢。它也具有安全性实现,因为它具有不同的执行范围。

示例

这是实现eval()函数的方法-

<html>
   <body>
      <script>
          var a = 30;
         var b = 12;
         var res1 = eval("a * b") + "<br>";
         var res2 = eval("5 + 10") + "<br>";
         document.write(res1);
         document.write(res2);
      </script>
   </body>
</html>
 类似资料:
  • 问题内容: 为什么Catch(Exception)一个坏主意? 问题答案: 因为当你捕获异常时,你应该正确处理它。而且,你不能期望在代码中处理所有类型的异常。同样,当你捕获所有异常时,你可能会得到一个无法处理的异常,并阻止堆栈中位于较高位置的代码正确处理它。 一般原则是捕获可能的最特定类型。

  • 问题内容: 有人告诉我不要在JavaScript中使用数组。为什么不? 问题答案: 原因是一种构造: 有时可能与另一个完全不同: 还请注意,JavaScript库可能会执行以下操作,这会影响您创建的任何数组:

  • 问题内容: eval函数是一种动态生成代码的强大而简便的方法,那么有哪些警告? 问题答案: 错误使用 eval会 打开代码以进行注入攻击 调试 可能会更具挑战性(没有行号等) 评估的代码执行速度较慢(没有机会编译/缓存评估的代码) 编辑:正如@Jeff Walden在评论中指出的那样,今天#3的真实性要低于2008年。但是,尽管可能会缓存一些已编译脚本,但这只会限于未经修改就重复的脚本。更有可能的

  • 本文向大家介绍为什么在JavaScript数组迭代中使用“ for…in”循环是个坏主意?,包括了为什么在JavaScript数组迭代中使用“ for…in”循环是个坏主意?的使用技巧和注意事项,需要的朋友参考一下 在大多数情况下,通常最好使用' for '循环而不是“ for ... in ”循环,因为“ for ... in ”循环会产生索引 ,而不会打扰剩余的索引普通的“ for ”循环显示

  • 我对redis是新的,所以我不知道更多关于它复杂的技术细节。但是让我把我的场景放在这里:我在同一个服务器上运行两个网站,我希望redis在这两个网站上工作。在搜索中,我发现可以通过如下所示为同一服务器实例上的不同数据库分配不同的索引来做到这一点: 这对我来说是理想的,因为我可以在同一个实例中缓存我的两个数据库。但后来我碰到了多个Redis数据库有什么意义?如何在redis数据库之间进行转换?链接上

  • 问题内容: 许多人告诉我,在控制器中操作DOM是一件非常糟糕的事情,但这究竟是什么原因。它如何影响您正在制作的应用程序?有哪些最佳实践,以及如何实现? 问题答案: 从技术上讲,控制器应该更小,更紧凑,并且不应使用DOM。控制器仅希望具有在事件上被调用的业务逻辑和绑定级别逻辑。 根据我的观点,“ 您不应该从控制器中操作DOM ”背后的原因是,这仅仅是因为关注点分离。如果您从控制器执行DOM操作,那么

  • 问题内容: 是仅在继承还是大多数情况下才是正确的? 问题答案: 这是真的。 因为二传手总是方法。如果您的课程不是,那么就会出现外来方法调用的问题。这不是线程安全的,即称为转义引用。因此,从构造函数中,如果要调用方法,则应为或。其他对象将不会发生,这会在实际系统中导致许多错误。 除了上述内容之外,我们永远不要从中调用method,因为 如果该类旨在继承,则Constructor不得直接或间接调用可重

  • 我找不到这个问题的答案。。。 如果我注入服务容器,如: 那么它的工作原理就和我的一样好: 那么,我为什么不直接注入服务容器,然后从类中获取服务呢?