文章摘要moonshot-v1-8k
Standby API Responsing..
Javascript eval()
某些情况下,传递函数名之后,接收的不是函数而是函数名的字符串类型。
eval() 方法—用来执行字符串代表的 javascript 代码,如果传递的不是字符串的话,会直接返回传值,而非调用。
例
function test(str){
alert(str);
}
//如果param是值;
eval('test("param")');
//如果param是变量;
var param = 'B';
eval('test(param)'); //会查找名为param的变量,如果找不到会抛出异常
字符串数组函数名函数
默认执行一个js函数会有指定函数名,如果想同时执行多个相同函数但又不同内容的时候,需要将相应函数使用 js 的 eval() 转换为字符串函数后再执行
var arr = ['funcA(str)','funcB(str)']; //定义数组函数名
//遍历数组函数
for(var i=0;i《arr.length;i++){
let arrFunc = "function "+arr[i]+"{ alert(str); }";
eval(arrFunc);
};
评论留言
既来之则留之~ 欢迎在下方留言评论,提交评论后还可以撤销或重新编辑。(Valine 会自动保存您的评论信息到浏览器)