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
},
posted @ 2020-07-13 17:21  春风自是人间客  阅读(456)  评论(0编辑  收藏  举报