标签:undefined 集合 ring 序列 str ons var 代码 直接
1、
var post = new Array(); post[‘class‘] = ‘1‘; post[‘type‘] = ‘2‘; post[‘id‘] = ‘3‘; var postjson = JSON.stringify(post); console.log(postjson);
打印出来的值是一个[],原因是什么?
post new出来的是一个数组对象,然后你给数组对象设置属性,但是数组序列化的时候只会序列化数组中的元素,会忽略对象上的属性和值。
按我实际的需求,直接用一个空的对象来存放属性就行了。这也从侧面验证了 JSON.stringify 只能把对象转换成json串,不能转换数组。
var post = {}; post[‘class‘] = ‘1‘; post[‘type‘] = ‘2‘; post[‘id‘] = ‘3‘; var postjson = JSON.stringify(post); console.log(postjson);
2、js中数组必须先定义,再使用。例如下面代码,会报错误 Cannot set property ‘lv-begin‘ of undefined
at xxx
var goldData = {}; goldData[1][‘lv-begin‘] = 1;
正确的写法如下
var goldData = {}; goldData[1] = {}; goldData[1][‘lv-begin‘] = 1;
标签:undefined 集合 ring 序列 str ons var 代码 直接
原文地址:https://www.cnblogs.com/quepq/p/9806772.html