eval通常用在一些需要动态执行字符串,或将字符串转为javascript对象的场景,比如将json字符串转为javascript对象。
至于eval容易被XSS攻击是属于想当然的说法吧,XSS攻击就是在你的页面上嵌入html或javascript代码,我觉得与是否使用eval方法没有什么关系。
它的功能是把对应的字符串解析成JS代码并运行比如说你现在要运行一个可变的方法
function
name1(){……}
function
name2(){……}
var
m="name1"
eval(m+'()')//运行name1()
m='name2'
eval(m+'()')//运行name2()