eval和new Function的区别

1,解析的时候,作用域不一致

  eval在当前的作用域,而new Function在全局

2,用法

  如存在 var aa = {

    fun: 'function(){console.log(this)}'    

  }

如需要执行fun的字符串函数

  A,eval()    eval('(function(){return ' + aa.fun + '})()')

  B,new Function()   new Function('return ' + aa.fun)()

posted @ 2018-03-22 16:53  大棒子  阅读(273)  评论(0编辑  收藏  举报