星空网 > 软件开发 > Java

eval、json.parse()的介绍和使用注意点

定义和用法
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
语法:  eval(string)
参数 描述
string 必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。
返回值
通过计算 string 得到的值(如果有的话)。
说明
该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。
如果试图覆盖 eval 属性或把 eval() 方法赋予另一个属性,并通过该属性调用它,则 ECMAScript 实现允许抛出一个 EvalError 异常。
 
eg:
<script type="text/javascript">
eval("x=10;y=20;document.write(x*y)")
document.write(eval("2+2"))
var x=10
document.write(eval(x+17))
</script>
输出:
200
4
27
处理json数据
1、eval
根据不同的json格式,一般有两种方式
json为json数据
转化json数据,使用方法统一
var dataObj = eval("("+json+")");
加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行
将json数据转换为json对象
(1)含有“节点”的json数据
var json = {
  root:
  [
  {name:'1',value:'0'},
  {name:'2',value:'1'},
{name:'3',value:'2'},
  ]
  }";
如果获取对应的name和value的值,可以使用
$(dataObj.root).each(function(i,item){
var str = "name:"+item.name+",value:"+item.value;
})
(2)不含有“节点”的json数据
var json = {"name":"1","name":"2","name":"3"}
使用$(dataObj).each(function(i,item){
var str = "name:"+item.name+",value:"+item.value;
})获取对应的数据
注意:eval使用比较危险,能不用最好就不要用,以免徒增不必要的麻烦
 
 
2、JSON.parse(String,function())
Strign:必选参数,为json数据
function():可选参数,如果不为空,则为对象的每个成员调用词函数
 
返回结果为对象或者数组,此方法与eval能达到相同的效果,简单易于使用,但此方法不支持IE6、IE7标准模式,但是可以自己下载json2.js来解决这一问题
网址:http://www.JSON.org/json2.js
 
使用方法:
var dataObj = JSON.parse(json);
 
for(var data in dataObj){
//获取对应数据的值
}



原标题:eval、json.parse()的介绍和使用注意点

关键词:JS

JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

亚马逊严加二审,大量卖家被迫封号:https://www.ikjzd.com/articles/98188
亚马逊放弃社交电商!这个功能惨遭关闭:https://www.ikjzd.com/articles/98189
实锤!亚马逊欧洲站已经开始征收20%的广告税!:https://www.ikjzd.com/articles/9819
跨境要闻!电动汽车关税免征,原产地证明不再强制!:https://www.ikjzd.com/articles/98190
印度将对美20多种商品加征关税,货值2.2亿美元!:https://www.ikjzd.com/articles/98191
持续关注!吉大港集装箱船与油轮相撞致船期延误!:https://www.ikjzd.com/articles/98193
北京代理注册美国公司:https://www.xlkjsw.com/news/45731.html
品牌的注册美国公司哪家好:https://www.xlkjsw.com/news/45732.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流