码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript中eval()函数的使用

时间:2015-11-25 16:40:32      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

eval()函数可以将字符串解析为javascript代码执行。

var str = "alert(‘hello world‘);";
alert(str);  //alert(‘hello world‘);
eval(str);  //hello world

 

eval()函数常用于将json字符串解析为json对象。

var jsonStr = "{‘name‘:‘bossLiu‘,‘age‘:27}";
alert(jsonStr.name);  //undefined
var jsonObject = eval("("+jsonStr+")");
alert(jsonObject.name);  //bossLiu

注意:由于json对象是用{}括起来的,在javascript中会被当成语句块处理,所以必须将其强制转换成表达式,所以在jsonStr的两边要加上()

 

在ajax中常常使用json作为传输数据,由于返回的数据是字符串,所以需要使用eval()函数解析。

json.txt内容如下:

{
    "person": {
        "name": "bossLiu",
        "age": 27
    }
}

 

<!DOCTYP html>
<html>
<head>
<meta charset="utf-8">
<script>
function ajax() {
    var ajax = new XMLHttpRequest();
    ajax.open("GET","json.txt",true);
    ajax.send();
    ajax.onreadystatechange = function () {
        if (ajax.readyState == 4) {
            if (ajax.status == 200 || ajax.status == 304) {
                var result = ajax.responseText;
                var object = eval("("+result+")");
                document.getElementsByTagName("div")[0].innerHTML = object.person.name;
            }
        }
    }
}
</script>
</head>
<body>
<button onclick="ajax()">点我</button>
<div></div>
</body>
</html>

 

JavaScript中eval()函数的使用

标签:

原文地址:http://www.cnblogs.com/bossliu/p/4994938.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!