eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。如果s语句执行结果是一个值,则返回此值,否则返回undefined。
JavaScript中的eval()不安全,可能会被利用做XSS攻击(跨站脚本攻击(Cross Site Scripting)),eval也存在一个安全问题,因为它可以执行传给它的任何字符串,所以永远不要传入字符串或者来历不明和不受信任源的参数。
eval会运行编译器,影响性能。
然而实际上,我们常用的,比如 script 标签, settimeout, setinterval,new Function 等间接调用了eval函数。