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('不是數字');
}