zoukankan      html  css  js  c++  java
  • eval() 函数 解析json对象

    eval在js中用来运行以js源码组成的字符串。

    可以用来改变全局或者局部变量,例如:

    var globalEval = eval;     //定义全局eval函数别名
    var a ='global', b = 'global';    //全局变量
    function c()
    {
      var a = 'local';      //局部变量
    eval('a+="changed"');  //直接更改局部变量的值
     return a;      //返回更改后的局部变量
    }
     function d()
    {
       var b = 'local';
       globalEval("b+='changed'");
       return b;
    } 
        
    console.log(c(), a);            //localchanged                       global
    console.log(d() , b)           //local                                         globalchanged

    严格模式下,其更像运算符,不可以将其赋给eval的全局函数别名。

    json字符集

    var data=" 

    root: 

    {name:'1',value:'0'}, 
    {name:'6101',value:'北京市'}, 
    {name:'6102',value:'天津市'}, 
    {name:'6103',value:'上海市'}, 
    {name:'6104',value:'重庆市'}, 
    {name:'6105',value:'渭南市'}, 
    {name:'6106',value:'延安市'}, 
    {name:'6107',value:'汉中市'}, 
    {name:'6108',value:'榆林市'}, 
    {name:'6109',value:'安康市'}, 
    {name:'6110',value:'商洛市'} 
    ]
    }"; 

    解析服务器返回的json数据时,用eval("("+data+")")防止当成js语句执行,因其有"{}"符号,

    例:

    var dataObj=eval("("+data+")");//转换为json对象

    使用$("#name").text(""(+dataObj.root.name+)"");

  • 相关阅读:
    Nginx 和 PHP的安装配置
    hdu1166 敌兵布阵
    乘法逆元详解
    SPFA算法
    Kruskal算法&Prim算法
    WC2018 文艺汇演《退役的你》
    HDU2577 How to Type
    裴蜀定理的证明
    CSP J/S 2019受虐记
    Dijkstra算法详解
  • 原文地址:https://www.cnblogs.com/ouyangping/p/6582621.html
Copyright © 2011-2022 走看看