javaScript 工作必知 eval 的使用

Posted Company

tags:

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

eval

    eval(parse) parse :里面跟参数字符串,我们知道执行javascript 会编译执行,

           改变全局变量的值:

      

        var x = 2; //定义的全局变量
        alert(x);//2
        var g = eval("x=3"); //eval 会根据当前上下文解析x
        alert(x);//3

      在全局作用域引用eval,改变全局作用域的值,不改变局部作用域的值

 

        var g = eval; //全局引用eval
        var x = "global";//定义全局变量
        (function f() {
            var x = "local";
            g("x+=‘changed‘");
            alert(x);//局部变量local
        })();//IIFE 立即执行表达式
        alert(x);//全局变量的值globalchanged

    在局部作用域内引用改变局部变量的值,不改变全局变量的值

 

       var g = eval; //全局引用eval
        var x = "global";//定义全局变量
        (function f() {
            var x = "local";
            eval("x+=‘changed‘");
            alert(x);//局部变量localchanged
        })();//IIFE 立即执行表达式
        alert(x);//全局变量的值global 

summary

 eval 执行会根据上下文来判断改变的变量时局部的还是全局的,所以使用eval函数,关键是看清引用eval的作用域!

以上是关于javaScript 工作必知 eval 的使用的主要内容,如果未能解决你的问题,请参考以下文章

javascript 工作必知 类型转换

javaScript 工作必知 属性的特性 值写枚举可配置

javaScript 工作必知 String .的方法从何而来?

javaScript 工作必知 对象继承

javaScript 工作必知 call apply bind

javaScript 工作必知 delete in instanceof