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

2024-03-12 09:59:08 浏览数 (3)

Javascript eval()

某些情况下,传递函数名之后,接收的不是函数而是函数名的字符串类型。

eval() 方法—用来执行字符串代表的 javascript 代码,如果传递的不是字符串的话,会直接返回传值,而非调用。

代码语言:javascript复制
function test(str){ 
        alert(str); 
    } 
    //如果param是值;
    eval('test("param")'); 
    //如果param是变量;
    var param = 'B';
    eval('test(param)'); //会查找名为param的变量,如果找不到会抛出异常

字符串数组函数名函数

默认执行一个js函数会有指定函数名,如果想同时执行多个相同函数但又不同内容的时候,需要将相应函数使用 js 的 eval() 转换为字符串函数后再执行

代码语言:javascript复制
var arr = ['funcA(str)','funcB(str)'];  //定义数组函数名
    //遍历数组函数
    for(var i=0;i《arr.length;i  ){
        let arrFunc = "function " arr[i] "{ alert(str); }";
        eval(arrFunc);
    };

0 人点赞