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