基本包裝類型正則表達式
爲了便於操做基本類型值,ECMAScript還提供了3個特殊的引用類型:Boolean,Number和String.這些類型與其餘引用類型類似,但同時也具備各自的基本類型相應的特殊行爲。數組
1.基本包裝類型概念與Bollean,Number類型函數
(1)每當讀取一個基本類型值的時候,後臺就會自動建立一個對應的基本包裝類型的對象。並且,此對象只存在於一行代碼的執行瞬間,而後當即被銷燬。編碼
(2)把字符串,數字,布爾值傳給構造函數會獲得對應的實例。對基本包裝類型的實例調用typeof會返回「object」。要注意,使用new操做符調用基本類型的構造函數,與直接調用同名的轉型函數是不同的。spa
(3)Boolean類型:須要注意的是,使用構造函數建立布爾的對象進行布爾運算時,對象都會被轉換爲true。code
(4)Number類型:toString()將數字轉換成字符串,接收一個參數,告訴它返回幾進制 toFixed()會按照指定的小數位返回數值的字符串表示,而且會自動舍入對象
toExponential()返回以指數表示法表示的字符串形式,參數決定小數位 toPrecision()自動調用適合的方法blog
1 /*var s1="some text"; 2 var s2=s1.substring(2); //基本包裝類型也有方法 3 4 var s1=new String("some text"); 5 var s2=s1.substring(2); 6 s1=null; //能夠這樣理解爲何基本類型會有方法 7 s1.color="red"; 8 alert(s1.color); //自動建立的基本包裝類型對象只存在於代碼建立的一瞬間,undefined*/ 9 10 var value="25"; 11 var number=Number(value); 12 alert(typeof number); //number 13 var obj=new Number(value); 14 alert(typeof obj); //object 15 /*把字符串,數字,布爾值傳給構造函數就會建立相應的實例,對基本包裝類型的實例調用typeof會返回object*/ 16 17 /*Boolean類型*/ 18 var falseObject=new Boolean(false); 19 var result=falseObject&&true; 20 alert(result); //true 21 var falseValue=false; 22 result=falseValue&&true; 23 alert(result); //false 24 25 /*Number類型*/ 26 var num=10; 27 alert(num.toString());//"10" 28 alert(num.toString(2));//"1010" 29 alert(num.toString(8));//"12" 30 31 alert(num.toFixed(2));//10.00此方法還會四捨五入 32 33 var num=99; 34 alert(num.toPrecision(1));//"1e+2" 35 alert(num.toPrecision(2));//"99" 36 alert(num.toPrecision(3));//"99.0"
2.基本包裝類型--String類型ip
(1)字符方法:charAt()返回對應參數位置的字符 charCodeAt()返回對應字符的編碼 ECMAScript5支持使用方括號來訪問字符串中的特定字符ci
(2)字符串操做方法:concat()與Array的同樣,往字符串後添加多個字符串
slice():接收兩個參數,第一個參數指定開始位置,第二個參數指定到哪裏結束,當參數有負數時,此方法會將傳入的負數與字符串的長度相加
substring():接收兩個參數,第一個參數指定從哪裏開始,第二個參數指定從哪裏結束。當有負數時,此方法會把全部的負數都變成0,另外substring(3,0)==substring(0,3)
substr():接收兩個參數,第一個指定從哪裏開始,第二個參數指定返回的字符串的個數。當有負數時,此方法會負的第一個參數加上字符串的長度
(3)位置方法indexOf()和lastIndexOf(),利用這兩種位置方法,能夠找到全部匹配的字符,並返回位置
(4)trim():刪除字符串先後的全部空格
(5)大小寫轉換toLowerCase()和toUpperCase()
(6)match()與replace()方法都與正則表達式聯合起來使用,match()聯合正則,將匹配到的字符轉換成數組返回。replace()顧名思義,替換匹配到字符。
(7)localeCompare()比較倆個字符串
(8)fromCharCode()接收多個字符編碼,而後將它們轉換成字符串
1 var stringValue="hello world"; 2 alert(stringValue.charAt(1)); //"e"相應位置的字符 3 4 alert(stringValue.charCodeAt(1));//"101"字符的編碼 5 6 var stringValue="hello "; 7 var result=stringValue.concat("world"); 8 alert(result); //"hello world" 與數組的concat方法同樣 9 10 /*利用兩種位置方法,找到全部匹配的字符,並返回位置*/ 11 var stringValue="Lorem ipsum dolor sit amet,consectetur adipisicing elit"; 12 var positions=new Array(); 13 var pos=stringValue.indexOf("e"); 14 while(pos>-1){ 15 positions.push(pos); 16 pos=stringValue.indexOf("e",pos+1);}; 17 alert(positions); //"3,24,32,35,52" 18 19 var text="cat,bat,sat,fat"; 20 var pattern=/.at/; 21 var matchs=text.match(pattern); 22 alert(matchs.index);//0 23 alert(matchs[0]);//"cat" 24 alert(matchs.lastIndex);//0 25 26 var pos=text.search(/at/); 27 alert(pos);//1 28 29 var result=text.replace("at","ond"); 30 alert(result);//"cond,bat,sat,fat" 31 result=text.replace(/at/g,"ond"); 32 alert(result);//"cond,bond,sond,fond" 33 34 result=text.replace(/(.at)/g,"word($1)"); 35 alert(result);//word(cat),word(bat),word(sat),word(fat)