赞
踩
eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行。
如果参数是一个表达式,eval() 函数将执行表达式。如果参数是Javascript语句,eval()将执行 Javascript 语句。
eval(string)
参数 | 描述 |
---|---|
string | 必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。 |
执行JavaScript代码或表达式:
eval("x=10;y=20;document.write(x*y)");
document.write("<br>" + eval("2+2"));
document.write("<br>" + eval(x+17));
以上实例输出结果:
200
4
27
eval() 是一个危险的函数,它使用与调用者相同的权限执行代码,所以尽可能的不要去使用它,以防被其他人员植入恶意代码,相似的 Function 就不容易被攻击。尽量使用 Function:
Function('"use strict";return (' + obj + ')')();
代替
eval(obj); // 不建议使用
eval() 函数里面如果放一个函数需要使用 () 括起来。
let x=eval(`function parse(){console.log("test");}`);
console.log(x);
x();
上面代码没有使用 () 将 eval() 函数中的函数括起来,会报错 x undefined;
let x=eval(`(function parse(){console.log("test");})`);
console.log(x);
x();
上面代码使用 () 将 eval() 函数中的函数括起来,正常运行。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。