//包裝類型:String/Number/Boolean; //簡單類型:string/number/boolean/undefined/null; //1.包裝類型; var obj = new Object(); obj.aaa = 111;//自定義屬性 console.log(obj.aaa);// 111 獲取屬性值 //number:簡單數據類型不能夠自定義屬性 var num = 111; num.bbb = 222; console.log(num.bbb);// undefined 簡單數據類型不能夠自定義屬性; //簡單數據類型有屬性!!! var str = "abc"; console.log(str.length); // 3
(字符串一旦定義就不會被修改,想要修改從新開闢空間)json
//1.字符串.charAt(索引值); 字符串中對應索引值的字符。 //兼容性很棒; 例: var str = "0Aabcd我&"; console.log(str.charAt(1));// A console.log(str.charAt(3));// b console.log(str.charAt(str.length-2)); // 我 console.log(str.charAt(str.length-1)); // &
// 用法 str[0] 字符串[索引值] // 和數組同樣;可是兼容性很差;H5新增,ie678不支持; 用法和charAt同樣 例: var str = "0Aabcd我&"; console.log(str[1]); // A console.log(str[3]); // b console.log(str[str.length-2]); // 我 console.log(str[str.length-1]); // &
字符串.charCodeAt(索引值); // 給索引,查對應的Unicode編碼; console.log(str.charCodeAt(0)); // 48 console.log(str.charCodeAt(1)); // 65 console.log(str.charCodeAt(2)); // 97
例: //indexOf(); 給字符查索引(從前日後) var str = "abcdcbb"; console.log(str.indexOf("a"));// 0 console.log(str.indexOf("b"));// 1 console.log(str.indexOf("xxx"));//查不到返回 -1 //查多個字符 console.log(str.indexOf("abc"));// 0 以首個單詞字符爲準; console.log(str.indexOf("ac")); // 不完整或者順序不對都是-1; console.log(str.indexOf("acb"));// 不完整或者順序不對都是-1;
lastIndexOf(); // 給字符查索引(從後往前) //同理indexOf; //字符串一旦聲明,索引值就固定了,不管從前日後,仍是從後往前,索引值都是固定的 var str = "abcdcbb"; console.log(str.lastIndexOf("b"));//6
// 拼接字符串 (拼接字符串更喜歡直接用 + ) var str1 = "123"; var str2 = "abc"; console.log(str1.concat(str2)); // 123abc //拼接數組 var arr1 = [11,22,33]; var arr2 = [44,55,66]; console.log(arr1.concat(arr2)); // [1, 12, 33, 44, 55, 66]
var str = "123abc"; slice() //從start位置開始,截取到end位置,end取不到 //和數組的徹底同樣: 字符串.slice(開始索引值,結束索引值); console.log(str3.slice(3)); //從索引值爲3的元素截取到最後 abc console.log(str3.slice(0,3)); //包左不包右 123 console.log(str3.slice(-2)); //從後面截取兩個 bc console.log(str3.slice(3,0)); s//前面一個數大,後面的數小; 返回 "";
var str = "123abc"; substr() //開始索引值,截取幾個; console.log(str3.substr(3)); //從索引值爲3的元素截取到最後 abc console.log(str3.substr(2,1)); //從索引值爲2的日後截取一個 3 console.log(str3.substr(-2)); //從後面截取兩個 bc //先後不同大沒問題,由於第二個參數是截取幾個的意思;
var str = "123abc"; substring() //開始索引值,結束索引值; //和slice();一樣 console.log(str3.substring(3)); //從索引值爲3的元素截取到最後 abc console.log(str3.substring(0,3)); //包左不包右 123 //不一樣: console.log(str3.substring(-2)); //所有截取 123abc console.log(str3.substring(3,4)); //智能調換 a (截取索引爲3的第四個字符) console.log(str3.substring(3,5)); //智能調換 ab (從索引爲3的開始截取到第5個字符)
str.toLowerCase(); // 英文字符轉換成小寫; str.toUpperCase(); // 英文字符轉換成大寫; //上傳文件的時候用; 由於後綴名,不區分大小寫;
var str = "Today is a good day, today is a good day."; //沒法忽略大小寫,並且只能替換一個 Tomorrow is a good day, today is a good day. console.log(str.replace("Today","Tomorrow")); //g: 全局替換; i: 忽略大小寫! Tomorrow is a good day, Tomorrow is a good day. console.log(str.replace(/today/ig,"Tomorrow"));
// split() 和 join() 是一對! var str = "aaa|bbb|ccc"; //字符串會根據參數被分割成幾部分;變成一個數組; console.log(str.split("|"));// ["aaa", "bbb", "ccc"] 按 | 進行分割 , 參數不會出如今數組中; console.log(str.split()); // ["aaa|bbb|ccc"] 不帶參數,總體做爲一個元素; console.log(str.split("")); // ["a", "a", "a", "|", "b", "b", "b", "|", "c", "c", "c"] 每個字符都算一個元素;
1.判斷一個字符串中出現次數最多的字符,統計這個次數數組
var str = "abcoefoxyozzopp"; // a:1,b:1,c:1...... 鍵值對; 對象或者json記錄; // 思路:遍歷字符串中的每個元素,從json/對象中查找. // 判斷:有的話,值自增1;沒有的話,設置該屬性,值爲1; var json = {};//未來往裏面裝屬性和值;{屬性就是字符串中的元素,值就是出現的次數} //for循環遍歷 for(var i=0;i<str.length;i++){ //判斷:有的話,值自增1;沒有的話,設置該屬性,值爲1; var zimu = str.charAt(i);//str裏面的每個字符串;根據i自增能夠獲取到每個 if(json[zimu] === undefined){//把字符做爲json中的屬性查找,若是爲undefined就說明不存在; //沒有就添加一個 json[zimu] = 1;//給這個屬性,賦值爲1; }else{ //若是存在,就把值在原有基礎上+1; json[zimu] += 1; } } console.log(json); // {a: 1, b: 1, c: 1, o: 4, e: 1, …}
2.獲取url中?後面的內容,並轉化成對象的形式。例如:http://www.itaaaaa.com/login?...編碼
var str = "http://wwwaitaaaaa.com/login?name=zs&age=18&a=1&b=2"; //思路:找到?,而後截取到最末尾;把字符串按照&分割;能夠再次按照=分割,而後建立對象 var index = str.lastIndexOf("?"); console.log(index); // 28 var str2 = str.slice(index+1); console.log(str2); // name=zs&age=18&a=1&b=2 //以&符號分割轉換成數組; var arr = str2.split("&"); console.log(arr); // ["name=zs", "age=18", "a=1", "b=2"] var obj = new Object(); //for循環把數組中的每個元素都遍歷出來,而後前面的作屬性,後面的作值; for(var i=0;i<arr.length;i++){ //把數組中的元素,再次切割,而後根據索引值設置屬性和值; var newArr = arr[i].split("="); //新數組中的第一個作屬性,第二個作值; obj[newArr[0]] = newArr[1]; } console.log(obj); // {name: "zs", age: "18", a: "1", b: "2"}