2 u014603095 u014603095 于 2015.06.10 09:07 提问

关于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后得到的什么?

9个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.06.10 09:12
已采纳
这是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>

xya_zone
xya_zone   2015.06.10 11:07

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

bdmh
bdmh   Ds   Rxr 2015.06.10 09:11

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

showbo
showbo   Ds   Rxr 2015.06.10 09:18

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

cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2015.06.10 09:35

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

oQingXin12345
oQingXin12345   2015.06.10 09:47

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

huangfu_chunfeng
huangfu_chunfeng   2015.06.10 10:31
这个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"}];

beacon_2011
beacon_2011   Rxr 2015.06.10 15:11

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

frank_20080215
frank_20080215   2015.06.10 12:41

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"}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
js中guid类型为什么不能通过参数传递
可能是guid中包含-  特殊符号.  需要转化成字符串  .  这里并不需要  tostring()   只要在事件的()里加'guid'  用单引号把变量引起来就好了.代码如下 &amp;lt;dd style=&quot;text-indent:2em&quot; id=&quot;@item.Id&quot; onclick=&quot;getSname('@item.Id')&quot;&amp;gt;@i.name&amp;lt;/dd&amp;gt;...
JavaScript中的原始类型
JavaScript中的数据类型分为两类,原始类型(primitive type)和对象类型(object type)。JavaScript中的原始类型包括:数字,布尔值,字符串,以及null和undefined。 数字类型 和其他语言不一样,JavaScript不区分整数和浮点数。JavaScript中的所有数字都是用浮点数来表示的。 JavaScript中支持常见的算术表达式,如:加
关于js this指向问题
最近想深入学习一下js,现在先了解一下this的指向问题。以前学过点c#,对this稍微有些了解,按我自己的理解(不一定准确)this应该是计算机在运作的过程中分配的内存绑定:1. 函数的this指向普通函数在全局中被调用,this是指向window的(非严格模式下,严格模式下是undefined){ let fn = function() { console.log(this); } fn()...
js框架集 关于web开发明细
js开发框架,关于web中要运用到的各种技术类型,html,css,js以及相应解决方案。
关于Js那些经常出的面试题
大家都知道在面试的时候,很多前端的必须要问的就是js的问题,最近我们公司也有很多这样的面试,我提了一些个问题,还有我面试的时候面试官面试我的问题汇总,也有百度的别人的,希望对那些刚进入这个行业的有一些帮助!!! 1.javascript的typeof返回哪些数据类型 Object number function boolean underfind 2.例举3种强制类型转换和2种隐式类型转换? 强制(parseInt,parseFloat,number) 隐式(== – ===) 3.split() jo
JavaScript中的原始类型——js基础(一)
准备阅读《JavaScript高级编程》一书,在此做一些笔记,一来方便自己查阅,二来给自己一点“压力”,三,如果可以的话,希望可以方便一下大众。       翻过JavaScript历史(有兴趣的朋友可以网上找找资料),直接进入正题…… ———————————————————
解决js处理Long类型丢失精度的问题
js处理Long类型丢失精度问题
关于JavaScript面试题(ES6)
JavaScript中基本数据类型与引用数据类型 JavaScript 中共有 6 种基本数据类型:Undefined、Null、Boolean、Number、String、Symbol (new in ES 6) ! 基本数据类型的值是按值访问的,引用类型的值是按引用访问的. 基本类型的比较是它们的值的比较,引用类型的比较是引用的比较. == : 只进行值的比较,=== : 不仅进行值得比较
解决js sort()的排序问题
var s=[0,1,5,10,15,6]; function compare(value1,value2){ if(value1value2){ return -1; }else if(value1>value2){ return 1; }else{ return 0; } } s.sort(compare); console.log(s)
JavaScript学习过程中遇到的关于闭包的问题
今天做到一道实践题,关于实现闭包的题目描述实现函数 makeClosures,调用之后满足如下条件:1、返回一个函数数组 result,长度与 arr 相同2、运行 result 中第 i 个函数,即 result[i](),结果与 fn(arr[i]) 相同我的代码是这样写的function makeClosures(arr, fn) {     var result = [];     for...