數組的方法:array.concat 一個數組去連接另一個數組,返回一個合成數組。var arrC=arrA.concat(arrB,'asd','sad',true,1.5);array.join 將數組用指定符號連接為一個字元串,並返回這個字元串。比用+快很多。var strA=arrA...
數組的方法:
- array.concat 一個數組去連接另一個數組,返回一個合成數組。var arrC=arrA.concat(arrB,'asd','sad',true,1.5);
- array.join 將數組用指定符號連接為一個字元串,並返回這個字元串。比用+快很多。var strA=arrA.join(",");//預設為逗號
- array.pop 移除數組最後一個元素,並返回這個元素.var A=arrA.pop();
- array.push 將一個或多個參數附加到數組的尾部,並返回一個新長度值。arrA.push("asd");
- array.shift 移除數組的第一個元素,並返回這個元素。它比pop慢得多,原因我想應該就是這僅僅只是一個偽數組,刪除第一個要將所有的元素往前推一格。var A=arrA.shift();
- array.unshift 講一個或多個參數附加到數組的頭部。arrA.unshift("asd");
- array.reverse 反轉數組裡元素的順序。var arrB=arrA.reverse();
- array.slice 對數組做一段淺複製。然後賦值兩個下標之間的數組,返回一個新的數組。var arrB=arrA.slice(0,3);//將第0,1,2個元素取出,後面的3也可以不填
- array.sort 對數組中的內容進行排序。arrA.sort();//預設會吧元素都轉化為字元串併進行比較。當然也可以將一個比較函數作為參數傳進去
-
arrA.sort(function(a,b){ return a-b; });
-
- array.splice 從數組中移除一個或者多個元素,並用新的元素替代它們。var arrB=arrA.splice(0,3,'asd','ads');//移除從下標0開始的3個元素,並用後面兩個元素進行替換
函數的方法:
- function.apply 調用函數,傳遞一個被綁定到this之上的對象,和一個可選的數組作為參數數組。
數字的方法:
- number.toExponential 將這個數字轉換為一個指數形式的字元串。Math.PI.toExponential(2);//3.14e+0
- number.toFixed 將這個數字轉換為一個十進位數形式的字元串。Math.PI.toFixed(2);//3.14,保留兩位小數
- number.toPrecision 將這個數字轉換為一個十進位數形式的字元串。Math.PI.toPrecision(2);//3.1,保留兩個有效數字
- number.toString 將這個數字轉換為一個字元串。Math.PI.toString(2);//這裡的2表示進位,而不是精度
對象的方法:
- object.hasOwnProperty 判斷對象是否包含一個以指定字元串命名的屬性
正則表達式的方法:
- regexp.exec
- 如果成功匹配,會返回一個數組。下標0會返回匹配的原字元串,1~後面返回的是分組1~捕獲的文本。
- 如果帶有g標識(全局標識),那麼查找不是從字元串開始的位置開始,而是從regexp.lastIndex開始。如果匹配成功,那麼會設置regexp.lastIndex為匹配成功的字元串第一個字元的位置,否則重置為0。
- regexp.test 如果成功匹配,返回true,否則false
字元串的方法:
- string.charAt 返回在字元串中指定位置處的字元
- string.charCodeAt 返回在字元串中指定位置處的字元的ASCII碼值
- string.concat 將其它字元串連接到一起,返回一個新的合成字元串。實際上用+更方便,且更直觀。
- string.indexOf 在此字元串中查找指定的另外一個字元串,如果找到了,就返回第一個找到的字元串的位置,否則返回-1."asdasd".indexOf("sd",2);//值為4,2表示從第3個字元開始查找
- string.lastIndexOf 這個與上面的相似,只不過是從字元串尾部開始查找
- string.localeCompare 比較兩個字元串。strA.localeCompare(strB);//結果也是返回正數,負數,零,你懂的
- string.replace 對一個字元串進行查找並替換的操作,並返回新的字元串(以下名字標紅的方法,都是可以應用正則表達式的)
- 常規方法:'asdasd'.replace('as','d');//結果為ddasd,replace只會替換第一次的出現位置。
- 正則表達式方法:加g標識匹配多次,不加匹配一次
var regExp=/ee(asd\d{0,3})/g;//加g標識匹配多次,不加匹配一次 var p='eeasd1323'.replace(regExp,'$1end');//結果為eeasd1323end //'$1end'的位置也可以放一個函數,每次匹配到會運行這個函數,然後用函數的返回值替換,這裡就不舉慄子了
-
'$1end'這個東西的解釋是這樣的:
- $$:表示$這個符號
- $&: 表示$&整個匹配到的文本
- $number:表示分組捕獲到的文本,比如上面的$1就是捕獲分組1捕捉到的文本
- $`:匹配之前的文本
- $':匹配之後的文本
- string.match 讓一個字元串和一個正則表達式匹配。它依據g標識來決定如何進行匹配。
- 如果沒有g標識,匹配結果與regexp.exec效果一樣
- 如果有,那麼會生成一個包含所有匹配(除捕獲分組之外這個括弧里的搞不懂什麼意思,明明就匹配了所有的)的數組
- string.search 與indexof相似,只是接收一個正則表達式匹配而已。此方法忽略g標識。
- string.split 將字元串分割來創建一個字元串數組。此方法忽略g標識。
- 一般的玩法
var digits='0123456789'; var arr=digits.split('',5);//5表示得到的數組頂多五個元素,多餘的去掉 //結果為['0','1','2','3','4']
- 正則表達式的玩法
var text='troy ,123 , good '; var d=text.split(/\s*,\s*/);//前面講過\s表示unicode各種空字元,然後所以匹配的分隔符就是包含空字元的逗號,這樣就自動去掉空字元了,好強大 //但是有特例哦,來自分組捕獲的文本會被包含在分割後的字元,所以我個人建議那就別用分組捕獲好了,在這裡沒必要
- 一般的玩法
- string.slice 複製字元串的一部分來構造一個新的字元串
- string.substring 與slice效果一樣,只是不能使用負數下標。沒有任何理由使用substring而不是slice(作者說的)。其實是有的,比如字面意思上我就知道什麼意思了。
- string.toLowerCase 返回一個全部小寫化的新字元串。
- string.toLocaleLowerCase 同上,土耳其語專用,所以你就當看不見好了
- string.toUpperCase 返回一個全部大寫化的新字元串。
- string.toLocaleUpperCase 同上,土耳其語專用,所以你就當看不見好了
- String.fromCharCode 看好哦,string是大寫哦。所以不是在字元串後面調用,而是用String調用。根據一串數字編碼返回一個字元串。(我相信你基本上用不到的)