美文网首页
(1, eval)('this') eval('this')

(1, eval)('this') eval('this')

作者: pipu | 来源:发表于2020-09-28 11:38 被阅读0次

    (1, eval)('this') eval('this') 两者有什么不同

    (1,eval)和普通的eval函数不同在于前者是一个值,后者是一个变量

    (1,eval)是一个表达式,返回eval函数(就像(true&&eval) (0?0:eval)),
    Ecma 认为eval函数的引用调用eval是直接eval调用,但是表达式方式的eval调用是给非直接调用eval,非直接eval调用会在全局环境中调用

    var x = 'outer';
    (function() {
      var x = 'inner';
      eval('console.log("direct call: " + x)'); 
      (1,eval)('console.log("indirect call: " + x)'); 
    })();
    

    (1, eval)('this') vs eval('this') in JavaScript?

    相关文章

      网友评论

          本文标题:(1, eval)('this') eval('this')

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