js中eval()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中eval()相关的知识,希望对你有一定的参考价值。

      看到了eval()的使用方法,虽然未曾用过,但仍是尝试着去理解

      eval()是一个函数,拥有改变全局变量和局部变量的能力

      全局变量:当eval置于最顶层代码中,这时候eavl修改的是全局变量,另外的情况是,eval置于最顶层代码中,但若是将eval赋值给另一个对象,那么调用这个对象修改的是全部变量

      局部变量:当eval置于函数内,修改的是局部变量

具体事例:

      { 

          var k = eval;

          var x = ‘global‘; var y = "global";

          function f(){

               var x = "local";

               eval("x += ‘changed‘;");

               return x;

          }

            function g(){

               var y = "local";

               k("y += ‘changed‘;");

               return y;

          }

          console.log(f(),x)//localchanged global

          console.log(g(),y);//local globalchanged;

      }

以上是关于js中eval()的主要内容,如果未能解决你的问题,请参考以下文章

JS中eval()解析和为什么不要使用eval

js中eval()

js中eval()的使用说明

js中eval,arguments与异常处理的用法-基础知识总结------彭记(017)

如何解密eval

eval有时候也可以用,而且有奇效