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;
3、js中计算字符串长度,准确获取字符串长度,需要循环遍历,这里只讲普通方法
var str='apple'; var len = str.length; console.log(len);
4、分割字符串
var str1 = '2:3:4:5'; var str2 = '|a|b|c'; var split_str1 = str1.split(":"); //将返回["2", "3", "4", "5"] var split_str2 = str2.split("|");//将返回["", "a", "b", "c"]
5、获取字符串中的数字,最好的办法是用正则匹配的方式
var s = 'apple大幅度发5262'; var num = s.replace(/[^0-9]ig/,""); alert(num); //5262
6、判断字符串是否为数字
var s = 'ik';
if (isNaN(s)) {
alert('不是数字');
}