您的位置:首页 > Web前端 > JavaScript

JavaScript中eval()函数的使用

2015-11-25 15:56 821 查看
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: