ECMAScript提供了三個(gè)特殊的引用類型:Boolean宪卿、Number和String。
String類型==> var stringObject = new String("hello world");
Booleab類型==>?var booleanObject = new Boolean(true);
Number類型==>?var numberObject = ?new Number(10);
注!!! 加new 創(chuàng)建的是對(duì)象object抢腐,不加new創(chuàng)建的是基本類型樟凄。
例子:(下述方法三個(gè)步驟同樣適用于Boolean和Nunber類型對(duì)應(yīng)的布爾值和數(shù)字值)
var s1 = "some text";
var s2 = s1.substring(2); ?//后臺(tái)對(duì)這行代碼自動(dòng)進(jìn)行了一系列的處理引矩,從而使其具有對(duì)象的方法
后臺(tái)自動(dòng)完成的處理:
step1:創(chuàng)建String類型的一個(gè)實(shí)例 ?==>var s1 = new String("some text");
step2:在實(shí)力上調(diào)用指定的方法 ?==>var s2 = s1.substring(2);
step3:銷毀這個(gè)實(shí)例 ?==>s1 = null;
注:使用new調(diào)用基本包裝類型的構(gòu)造函數(shù)础嫡,與直接調(diào)用同名的轉(zhuǎn)型函數(shù)是不一樣的指么。
Boolean類型:(永遠(yuǎn)不要使用Boolean對(duì)象!C史 !)
Number類型:(仍然不建議直接實(shí)例化Number類型缺亮,而原因與顯示創(chuàng)建Boolean對(duì)象一樣)
方法:toString() ?toFixed() ?toExponential() ?toPrecision()(這三個(gè)方法都可以通過(guò)向上或向下舍入翁涤,做到以最準(zhǔn)確的形式來(lái)表示帶有正確小數(shù)位的值)
==>toString()方法傳遞一個(gè)表示基數(shù)的參數(shù)桥言,告訴它返回幾進(jìn)制的字符串形式
==>toFixed()按照指定的小數(shù)位返回?cái)?shù)值的字符串表示
==>toExponential()返回以指數(shù)表示法(也稱e表示法)表示的數(shù)值的字符串形式葵礼。
==>toPrecision()是上述二者方法的綜合體,即可以根據(jù)要處理的數(shù)值決定到底是調(diào)用toFixed()還是調(diào)用toExponential()方法
String類型:
屬性:length ?(用于表示字符串中包含多少個(gè)字符)
方法:charAt() ?charCodeAt() ?concat() ?slice() ?substr() ?subString() ?indexOf() ?lastIndexOf() ?trim() ?toLowerCase() ?toLocalLowerCase() ? toUpperCase() ?toLocalUpperCase() ?match() ?search() ?replace() ?split() ?localCompare() ?fromCharCode()
==》字符方法:
==>charAt()以單字符字符串的形式返回給定位置的那個(gè)字符
==>charCodeAt()同上一樣扔涧,但其獲取的是該單字符的字符編碼
==》字符串操作方法:
==>concat()用于將一個(gè)或多個(gè)字符串拼接起來(lái),返回拼接得到的新字符串(其可以接收任意多個(gè)參數(shù))
在實(shí)踐中届谈,使用更多的還是加好操作符(+)!!!
==>slice()枯夜、substr()、subString()三者在大多數(shù)情況下的結(jié)果都是相同的艰山,但當(dāng)傳遞的參數(shù)是負(fù)值情況下湖雹,它們的行為就不盡相同了!!!
==》字符串位置方法:兩個(gè)方法都是從一個(gè)字符串中搜索給定的子字符串曙搬,然后返回子字符串的位置(如果該子字符串不存在摔吏,則返回-1),下述二者只是搜索的方向不同
==>indexOf()(方向從左到右)
==>lastIndexOf()(方向從右到做)
==》trim()方法創(chuàng)建一個(gè)字符串副本纵装,刪除前置及后綴的所有空格征讲,然后返回結(jié)果。
==》字符串大小寫轉(zhuǎn)換方法
==>toLowerCase()?
==>toLocalLowerCase()
==>toUpperCase()?
==>toLocalUpperCase() ?
==》字符串的模式匹配方法:
==>match() ?在字符串上調(diào)用這個(gè)方法,本質(zhì)上與調(diào)用RegExp的exec()方法相同瀑踢。(其只接受一個(gè)參數(shù):要么是一個(gè)正則表達(dá)式扳还,要么是一個(gè)RegExp對(duì)象)
==>search() ?與match()方法的參數(shù)相同,其返回的是字符串中第一個(gè)匹配項(xiàng)的索引
==>replace() ?
這個(gè)方法接兩個(gè)參數(shù):第一個(gè)參數(shù)可以是一個(gè)RegExp對(duì)象或者一個(gè)字符串(這個(gè)字符串不會(huì)被轉(zhuǎn)換成正則表達(dá)式)橱夭,第二個(gè)參數(shù)可以是一個(gè)字符串或者一個(gè)函數(shù)氨距。
如果第二個(gè)參數(shù)是一個(gè)函數(shù):在只有一個(gè)匹配項(xiàng)(即與模式匹配的字符串》的情況下茬暇,會(huì)向這個(gè)函數(shù)傳遞3個(gè)參數(shù):模式的匹配項(xiàng)首昔、模式匹配項(xiàng)在字符串中的位置和原始字符串。
==>split() 這個(gè)方法可以給予指定的分隔符將一個(gè)字符串分割成多個(gè)子字符串糙俗,并將結(jié)果放在一個(gè)數(shù)組中勒奇。分隔符可以是字符串,也可以是一個(gè)RegExp對(duì)象(這個(gè)方法不會(huì)將字符串看成正則表達(dá)式)
==》localCompare() 方法用于比較兩個(gè)字符串誰(shuí)在字母表中的先后順序
==》fromCharCode()方法接收一或多個(gè)字符編碼顶猜,然后將它們轉(zhuǎn)換成一個(gè)字符串。(相當(dāng)于charCodeAt()方法的相反操作)