eval用法介绍

eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

var a=1
var b='a'
eval(b)
//output      1
var a_b = 2
eval(b+'_b')
//output      2
eval("1+2")
//output      3

避免在不必要的情况下使用eval
eval() 是一个危险的函数, 他执行的代码拥有着执行者的权利。如果你用eval()运行的字符串代码被恶意方(不怀好意的人)操控修改,您可能会利用最终在用户机器上运行恶意方部署的恶意代码,并导致您失去您的网页或者扩展程序的权限。更重要的是,第三方代码可以看到某一个eval()被调用时的作用域,这也有可能导致一些不同方式的攻击。相似的Function就是不容易被攻击的。

eval()的运行效率也普遍的比其他的替代方案慢,因为他会调用js解析器,即便现代的JS引擎中已经对此做了优化。

你可能感兴趣的:(Web)