日期:2014-05-16  浏览次数:20318 次

json的使用问题
在内容返回时会这样获取
var   user   =   eval( '( '   +   http.responseText   +   ') ');

到底user是对象还是变量
http.responseText返回的是大括号包起来的对象
不明白再加一个(   )是什么意思阿
搞不懂

------解决方案--------------------
var user = eval( '( ' + http.responseText + ') ');

你这东西也没有意义啊。
------解决方案--------------------
<script language= "javascript ">
<!--
//1
var arrayStr = "[ 'a ', 'b '] ";
arrayObj = eval(arrayStr);
alert(arrayObj[0]);

//2.
var str = "{attr1: 'attribute1 ', attr2: 'attrbiute2 '} ";
eval( "var obj = " + str);
alert(obj.attr1);
//-->
</script>

对于一般的变量、函数调用,可用方式1,但对于类似{}对象,须要方式2
------解决方案--------------------
谈谈我的理解:
那个内层的 '( '是用来组合字符串的
比如你那个http.responseText = key:value
那么eval的是(key:value)
即string = "(key:value) "
eval(string)