美文网首页
new Function()

new Function()

作者: 星球小霸王 | 来源:发表于2018-05-24 10:57 被阅读0次

第一种方式

  //对于创建一个字符串的函数
   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

相关文章

网友评论

      本文标题:new Function()

      本文链接:https://www.haomeiwen.com/subject/hpwjjftx.html