一、基础概念
eval
函数eval
函数会将传入的字符串当作JavaScript代码进行执行。例如:eval
函数会将传入的字符串当作JavaScript代码进行执行。例如:eval
执行了字符串中的代码,先定义了num
变量并赋值为10
,然后计算num + 5
的结果为15
。eval
的原因eval
可能会导致恶意代码的执行。例如,如果用户输入"alert('Hacked!');"
,使用eval
执行就会弹出这个警告框,甚至更严重的恶意操作。eval
执行的代码难以被JavaScript引擎优化,因为它是在运行时动态解析的,相比直接编写的代码,性能会较差。二、替代方案及相关优势
Function
构造器来创建函数。例如:Function
构造器来创建函数。例如:eval
,Function
构造器创建的函数有自己的作用域,不会影响全局作用域(在一定程度上提高了安全性)。obj = { num: 10 };
,想要根据变量key = 'num'
获取属性值,可以使用obj[key]
。eval
是为了拼接和计算字符串表达式,模板字符串是个很好的替代。eval
用法:eval
用法:领取专属 10元无门槛券
手把手带您无忧上云