关于JS的类型问题!!!

var testStr = '[{"aa":"a1","bb":"b1","cc":"c1","dd":"d1"},{"aa":"a2","bb":"b2","cc":"c2","dd":"d2"},{"aa":"a3","bb":"b3","cc":"c3","dd":"d3"},{"aa":"a4","bb":"b4","cc":"c4","dd":"d4"},{"aa":"a5","bb":"b5","cc":"c5","dd":"d5"}]';

这个testStr是什么类型?如何给它添加新的内容?

补充:这样this.objectlist = eval('('+testStr+')');,有什么用哦?eval后得到的什么?

这是json格式的字符串
 <!DOCTYPE html>
<html>
<body>
<script>
var testStr = '[{"aa":"a1","bb":"b1","cc":"c1","dd":"d1"},{"aa":"a2","bb":"b2","cc":"c2","dd":"d2"},{"aa":"a3","bb":"b3","cc":"c3","dd":"d3"},{"aa":"a4","bb":"b4","cc":"c4","dd":"d4"},{"aa":"a5","bb":"b5","cc":"c5","dd":"d5"}]';
var jsontext = eval('('+testStr+')');
for(var i=0;i<jsontext.length;i++){
   document.write(jsontext[i].aa+',');
   jsontext[i]['添加内容']='cccc';
   document.write(jsontext[i].添加内容+',');
}
</script>

</body>
</html>

得到的是json对象,就可以直接用 objectlist.xxx访问里面的对象

testStr是字符串,eval后得到json对象

是json字符串,你可以在前台直接解析她!

testStr是json,要给他添加新内容,如果新内容少的话可以按照上面的格式直接拼进去,新内容多得话可以用JsonArray或者JsonObject等类将新的内容自动转换为json再添进去。具体可以问度娘了

这个testStr如果是在html里面就是一个var类型也就是string类型,
 eval计算字符串,得到的是一个数组不是JSON

也就是这个数组 去掉引号[{"aa":"a1","bb":"b1","cc":"c1","dd":"d1"},{"aa":"a2","bb":"b2","cc":"c2","dd":"d2"},{"aa":"a3","bb":"b3","cc":"c3","dd":"d3"},{"aa":"a4","bb":"b4","cc":"c4","dd":"d4"},{"aa":"a5","bb":"b5","cc":"c5","dd":"d5"}];

testStr,是一个String类型,用eval计算后是Ojbect对象,
var testStr = '[{"aa":"a1","bb":"b1","cc":"c1","dd":"d1"},{"aa":"a2","bb":"b2","cc":"c2","dd":"d2"},{"aa":"a3","bb":"b3","cc":"c3","dd":"d3"},{"aa":"a4","bb":"b4","cc":"c4","dd":"d4"},{"aa":"a5","bb":"b5","cc":"c5","dd":"d5"}]';
alert(typeof(testStr));---->string
var s= eval('('+testStr+')');
alert(s)----->则是一个数组对象
alert(s[0].aa);---->a1
alert(s[1].aa);---->a2

json数据包
eval后得到
{"aa":"a1","bb":"b1","cc":"c1","dd":"d1"},{"aa":"a2","bb":"b2","cc":"c2","dd":"d2"},{"aa":"a3","bb":"b3","cc":"c3","dd":"d3"},{"aa":"a4","bb":"b4","cc":"c4","dd":"d4"},{"aa":"a5","bb":"b5","cc":"c5","dd":"d5"}

var 是弱数据类型,后边的数据是什么类型它就是什么类型