Javascript eval函数名数组化执行字符串函数

706°C 19-03-2020 notbyai
最近更新于:2022-06-16 00:15:42

文章摘要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 会自动保存您的评论信息到浏览器)