第一种方式
//对于创建一个字符串的函数
var test = new Function('arg','console.log(arg+1)');
test(2) ; //3
//其等价于
var test = function(arg) {
console.log(arg + 1);
}
test(2); // 3
第二种方式
var test = new Function(arg,'console.log(arg+1)');
var arg = 2;
test();//3
第三种方式
我们甚至不需要显式地传参数给这个函数。我们使用apply方法来调用它。它会自动设定函数执行的上下文。这就是为什么我们能在函数里面使用this.arg。这里this指向data对象。
var data = {arg:2}
var test = new Function('console.log(this.age+1)').apply(data); //3
网友评论