JS函数构造器及动态生成

构造函数名字类似,但无太大关系。

普通生成

var p = new Function('x','y','return x+y');
p(2,3)

动态生成

createFunction(){
    let arr = Array.from(arguments);
    var params = arr.splice(0,arr.length-1);
    var body = arr[0];
    return new Function(params,body);
},
test(){
    var sum = this.createFunction('x','y','return x + y');
    var chen = this.createFunction('x','y','return x * y');
    console.log(sum(3,2)) // 5
    console.log(chen(3,2)) // 6
},
原文地址:https://www.cnblogs.com/firefly-pengdan/p/13294363.html