對象
1.object.hasOwnProperty(name)
檢測object是否包含一個名為name的屬性,那么hasOwnProperty方法返回true,但是不包括其原型上的屬性。
正則表達式
2.regexp.exec(string)
exec方法是正則表達式最強大和最慢的方法。如果成功的匹配regexp和字符串,他會返回一個數組。數組中下標為0的元素將會包含正則表達式regexp匹配的子字符串。下標為1的元素是分組1捕獲的文本,下標為2的元素是分組2捕獲的文本。如果匹配失敗,會返回null。
如果regexp帶有一個g標志。查找不是從這個字符串的其實位置開始,而是從regexp.lastIndex(初始值為0)位置開始。如果匹配成功,那么regexp.lastIndex將被設置為該匹配后第一個字符的位置。不成功的匹配會重置regexp.lastIndex為0。
3.regexp.test(string)
是使用正則表達式的最簡單和最快的方法。如果該regexp匹配string,返回true,否則返回false。不要對這樣方法使用g標識。
字符串
4.string.chatAt(pos)
返回:在string中pos處的字符串。如果pos小於0或者大於等於字符串長度string.length,他會返回空字符串。
例如:
1 var foo=function(){ 2 var str="",str1="abc",c=undefined,d=null; 3 console.log(str.charAt(0));//沒有輸出結果 4 console.log(str1.charAt(1));//b 5 console.log(c.charAt(1));//報錯 6 console.log(d.charAt(1));//報錯 7 8 }; 9 foo();
charAt()可以這樣實現
String.method("charAt",function(pos){
return this.slice(pos,pos+1);
});
5.string.charCodeAt(pos)
返回:以整數形式標識的string中pos位置的字符的字符編碼。如果pos小於0或者大於等於字符串長度string.length,他會返回NaN。
6.string.cancat(string……)
返回:返回連接在一起的新的字符串,但是用+更加方便。
例如:
var s="c".cancat("a","n");
7.string.indexOf(searchString,position)
返回:在string內部查找searchString。
如果找到,返回第一個匹配字符的位置,否則返回-1.可選參數position可指從某個指定的位置開始查找:
1 var foo=function(){ 2 var str="",str1="abcabc",c=undefined,d=null; 3 console.log(str.indexOf("a",0));//-1 4 console.log(str1.indexOf("a",0));//0 5 console.log(str1.indexOf("a",1));//3 6 console.log(c.indexOf("a",0));//報錯 7 console.log(d.indexOf("a",0));//報錯 8 9 }; 10 foo();
8.string.lastIndexOf(searchString,position)
返回:searchString的從string末尾開始查找的位置。
例如:
1 var text = 'Mississippi'; 2 var p = text.lastIndexOf('ss'); // p is 5 3 p = text.lastIndexOf('ss', 3); // p is 2 4 p = text.lastIndexOf('ss', 6); // p is 5
9.string.localeCompare(that)
返回:比較兩個字符串。如何比較沒有特別的說明,如果string比字符串that小,那么結果為負數。如果他們是相等的,結果為0.
10.string.match(regexp)
返回:讓字符串與正則表達式匹配。依據g標識決定如何進行匹配。如果沒有g標識,那么調用string.match(regexp)的結果與調用regexp.exec(string)結果相同。然而,如果regexp帶有g標識符,他將生成一個包含所有匹配(除捕獲分組之外)的數組:
11.string.replace(searchValue,replaceValue)
返回:對string進行查找和替換操作,並返回一個新的字符串。參數searchValue可以是一個字符串或一個正則表達式對象。如果是一個字符串,那么searchValue只會在第一次出現的地方被替換。例如:
var result = "mother_in_law".replace('_', '-'); ,如果searchValue是一個正則表達式並且帶有g標志,他會替換所有的匹配,如果沒有帶g標識,它會僅替換第1個匹配。例如:
1 var oldareacode = /\((\d{3})\)/g; 2 var p = '(555)666-1212'.replace(oldareacode, '$1-'); 3 // p is '555-555-1212'
replaceValue可以是一個字符串或一個函數。如果replaceValue是一個函數,那么每遇到一次匹配函數就會被調用一次,而該函數返回的字符串會被用作替換文本。傳遞給這個函數的第一個參數是整個被匹配的文本,第2個參數是分組1捕獲的文本,再下一個參數是分組2捕獲的文本,依次類推。
12.string.slice(start,end)
返回:復制string中的一部分來構造一個新的字符串。
如果start參數是負數,它將與string.length相加。
end參數是可選的,且默認值是string.length。如果end參數是負數,那么它將與string.length相加。end參數等於你要取得最后一個字符位置加1。
想要從位置p開始的n個字符,就用string.slice(p,p+n);
例如:
1 var text = 'and in it he says "Any damn fool could'; 2 var a = text.slice(18); 3 // a is '"Any damn fool could' 4 var b = text.slice(0, 3); 5 // b is 'and' 6 var c = text.slice(−5); 7 // c is 'could' 8 var d = text.slice(19, 32); 9 // d is 'Any damn fool'
13.string.split(separator,limit)
返回:將string分割成片段來創建的一個字符串數組。可選參數limit可以限制被分割的片段數量。separator參數可以是一個字符串或一個正則表達式。
如果separator是一個空白字符,會返回一個單字符數組,例如:
1 var digits = '0123456789'; 2 var a = digits.split('', 5); 3 // a is ['0', '1', '2', '3', '456789']
否則,會查找所有separator出現的地方。分隔符兩邊的每個單元文本都會被復制到該數組中。此方法會忽略g標識符。
來自捕獲組的文本會白包含在分割后的數組中:
1 var text = 'last, first ,middle'; 2 var e = text.split(/\s*(,)\s*/); 3 // e is [ 4 // 'last', 5 // ',', 6 // 'first', 7 // ',', 8 // 'middle' 9 // ]
14.string.search(regexp)
與indexOf相似,接收一個正則表達式對象作為參數而不是一個字符串。如果找到匹配,它返回第1個匹配的首字符的位置,如果沒有找到匹配,則返回-1。此方法會忽略g標志,且沒有position參數:
1 var text = 'and in it he says "Any damn fool could'; 2 var pos = text.search(/["']/); // pos is 18
15.string.substring(start,end)
與slice一樣,但是不能處理負參數。
16.string.toLocaleLowerCase()
返回一個新的字符串,使用本地化規則把這個string中的所有的字母轉換為小寫格式。
17.string.LocaleUpperCase()
返回一個新字符串,使用本地化規則把這個string中的所有的字母轉換為大寫格式。
18.string.toLowerCase()
返回一個新的字符串,string中的所有字母都被轉化為小寫格式
19.string.toUpperCase()
返回一個新的字符串,string中的所有字母都被轉化為大寫格式
20.string.fromCharCode(char……)
根據一串數字編碼返回一個字符串
var a = String.fromCharCode(67, 97, 116);
// a is 'Cat'