许多开发者认为应避免使用JavaScript 的
然而,我不明白关于安全漏洞的担忧。确实,运行
eval()
方法。从设计的角度来看,这个想法是有道理的。当存在一个更简单、更好的选项时,eval()
通常被用作一个丑陋的解决方案。然而,我不明白关于安全漏洞的担忧。确实,运行
eval()
赋予黑客能够运行你可以运行的任何JavaScript代码的能力。但他们不是已经可以做到这一点了吗?至少在Chrome中,开发者工具允许最终用户运行自己的JavaScript。那么,eval()
比开发者工具更危险在哪里呢?
eval
的FUD感到恼火。 “eval is evil”可能从未被有经验的编码人员说过。如果你很愚蠢,它可能是危险的。但通常它只是缓慢、丑陋并导致难以演变的代码。 - Denys Ségureteval
更好的替代方案。我已经说过了(请阅读我的评论到最后)。我的观点是,“eval是邪恶的”可能是一个有趣的口号,但并不是一个有用的观点。顺便说一句,可以争论JS自2013年以来已经有所改变,因此试图重新唤起和辩论旧的话题可能最好留给历史学家。 - Denys Séguret