第38天 说说你对eval的理解
Activity
wenyejie commentedon May 24, 2019
AnsonZnl commentedon May 24, 2019
eval()
相当于一个小型的js解析器,接受一个字符串,可以把字符串解析成js代码并执行,所以有很有大的安全隐患,并且写进去的代码都是字符串,不利于维护,使用它执行代码性能也会大大折扣,所以正常情况下不建议使用。tzjoke commentedon May 28, 2019
eval
确实能不用就不用,不过在某些业务场景下,eval 比其他方法要简单很多,可以认为是一种hack,但是说到底还是不推荐使用myprelude commentedon Jun 13, 2019
执行 js代码,有性能问题,又可以执行一些恶意代码。但是webpack中就用到了eval,所有一个东西用途还是需要看场景。
DarthVaderrr commentedon Jul 4, 2019
终极hack方法,从来不用
seho-dev commentedon Sep 7, 2019
webpack中处理soucemap就用到了eval
Konata9 commentedon Sep 17, 2019
eval
可以把字符串转为javaScript
代码运行。一般提倡能不用就不用,由于是字符串,维护上会不易于维护,有很大的安全隐患并且运行效率上会较低。但是在特殊的场景下,使用起来会非常方便。我自己在工具库中获取深度对象的值时使用过
eval
,const value = eval('a.b.c')
zlqGitHub commentedon Jan 28, 2020
blueRoach commentedon Jul 9, 2020
eval()接收一字符串,他会执行其中的JS代码
不安全,因为是将字符串解析成JS代码并执行
不利于,维护因为传的是字符串
性能低
Alex-Li2018 commentedon Aug 11, 2020
webpack使用的就是eval执行的压缩之后的代码
smile-2008 commentedon Oct 28, 2020
jamsehua commentedon Jan 10, 2021
eval-souce-map和这是同一个东西吗
xiaoqiangz commentedon Jun 1, 2022
eval是可以执行js代码的,但是也可以执行恶意代码,对性能也有影响,要视情况而用,一般正常情况不建议使用。