JavaScript的引用類型(五)--基本包裝類型

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;

注I崭Q嗯肌!

注:使用new調(diào)用基本包裝類型的構(gòu)造函數(shù)础嫡,與直接調(diào)用同名的轉(zhuǎn)型函數(shù)是不一樣的指么。

變量number中保存的是基本類型的值25;而變量obj中保存的是number的實(shí)例榴鼎。


這個(gè)故事告訴我們:雖然表面輸出來(lái)的值是“基本變量”25涧尿,但其實(shí)際卻不一定是基本變量number而是引用類型對(duì)象object
此處是基本類型number

Boolean類型:(永遠(yuǎn)不要使用Boolean對(duì)象!C史 !)

這就是不建議用new Boolean()創(chuàng)建對(duì)象的的原因
去除new 即正常

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ù)值的字符串表示

標(biāo)準(zhǔn)現(xiàn)實(shí)范圍:其可以帶0到20個(gè)小數(shù)位
如果數(shù)值本身包含的小數(shù)位比指定的還多,那么接近指定的最大小數(shù)位的值就會(huì)舍入

==>toExponential()返回以指數(shù)表示法(也稱e表示法)表示的數(shù)值的字符串形式葵礼。

該方法可以接收一個(gè)參數(shù)号阿,參數(shù)表示指定輸出結(jié)果中的小數(shù)位數(shù)

==>toPrecision()是上述二者方法的綜合體,即可以根據(jù)要處理的數(shù)值決定到底是調(diào)用toFixed()還是調(diào)用toExponential()方法

輸出結(jié)果如下:
注意!!!上述toPrecision()因?yàn)闊o(wú)法準(zhǔn)確地表示99鸳粉,所以將它向上舍入為100

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()同上一樣扔涧,但其獲取的是該單字符的字符編碼

也可以用方括號(hào)加數(shù)字索引來(lái)訪問(wèn)字符串中的特定字符

==》字符串操作方法:

==>concat()用于將一個(gè)或多個(gè)字符串拼接起來(lái),返回拼接得到的新字符串(其可以接收任意多個(gè)參數(shù))

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

在實(shí)踐中届谈,使用更多的還是加好操作符(+)!!!

==>slice()枯夜、substr()、subString()三者在大多數(shù)情況下的結(jié)果都是相同的艰山,但當(dāng)傳遞的參數(shù)是負(fù)值情況下湖雹,它們的行為就不盡相同了!!!

參數(shù)為正數(shù)(左開(kāi)右閉區(qū)間)
參數(shù)為負(fù)數(shù)
當(dāng)?shù)诙€(gè)參數(shù)是負(fù)值,這三個(gè)方法的行為就各不相同了

==》字符串位置方法:兩個(gè)方法都是從一個(gè)字符串中搜索給定的子字符串曙搬,然后返回子字符串的位置(如果該子字符串不存在摔吏,則返回-1),下述二者只是搜索的方向不同

==>indexOf()(方向從左到右)

==>lastIndexOf()(方向從右到做)

一個(gè)參數(shù)
兩個(gè)參數(shù)
匹配字符串中所有的子字符串

==》trim()方法創(chuàng)建一個(gè)字符串副本纵装,刪除前置及后綴的所有空格征讲,然后返回結(jié)果。

這個(gè)方法大有用處!!!

==》字符串大小寫轉(zhuǎn)換方法

==>toLowerCase()?

==>toLocalLowerCase()

==>toUpperCase()?

==>toLocalUpperCase() ?

一般來(lái)說(shuō)橡娄,在不知道自己的代碼將在哪種語(yǔ)言環(huán)境中運(yùn)行的情況下诗箍,還是使用針對(duì)地區(qū)的方法更穩(wěn)妥一些

==》字符串的模式匹配方法:

==>match() ?在字符串上調(diào)用這個(gè)方法,本質(zhì)上與調(diào)用RegExp的exec()方法相同瀑踢。(其只接受一個(gè)參數(shù):要么是一個(gè)正則表達(dá)式扳还,要么是一個(gè)RegExp對(duì)象)

==>search() ?與match()方法的參數(shù)相同,其返回的是字符串中第一個(gè)匹配項(xiàng)的索引

'at'在字符串中第一次出現(xiàn)的位置是1

==>replace() ?

這個(gè)方法接兩個(gè)參數(shù):第一個(gè)參數(shù)可以是一個(gè)RegExp對(duì)象或者一個(gè)字符串(這個(gè)字符串不會(huì)被轉(zhuǎn)換成正則表達(dá)式)橱夭,第二個(gè)參數(shù)可以是一個(gè)字符串或者一個(gè)函數(shù)氨距。

如果第一個(gè)參數(shù)是字符串,那么只會(huì)替換第一個(gè)子字符串棘劣。要想替換所有子字符串俏让,唯一的方法就是提供一個(gè)正則表達(dá)式,而且要指定全局(g)標(biāo)志

如果第二個(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á)式)

接受可選的第二個(gè)參數(shù)巧骚,與指定數(shù)組的大小赊颠,以便確保返回的數(shù)組不會(huì)超過(guò)既定大小
什么鬼格二??竣蹦?

==》localCompare() 方法用于比較兩個(gè)字符串誰(shuí)在字母表中的先后順序

==》fromCharCode()方法接收一或多個(gè)字符編碼顶猜,然后將它們轉(zhuǎn)換成一個(gè)字符串。(相當(dāng)于charCodeAt()方法的相反操作)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末痘括,一起剝皮案震驚了整個(gè)濱河市长窄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌纲菌,老刑警劉巖挠日,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異驰后,居然都是意外死亡肆资,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門灶芝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)郑原,“玉大人,你說(shuō)我怎么就攤上這事夜涕》咐纾” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵女器,是天一觀的道長(zhǎng)酸役。 經(jīng)常有香客問(wèn)我,道長(zhǎng)驾胆,這世上最難降的妖魔是什么涣澡? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮丧诺,結(jié)果婚禮上入桂,老公的妹妹穿的比我還像新娘。我一直安慰自己驳阎,他們只是感情好抗愁,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著呵晚,像睡著了一般蜘腌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上饵隙,一...
    開(kāi)封第一講書(shū)人閱讀 49,837評(píng)論 1 290
  • 那天撮珠,我揣著相機(jī)與錄音,去河邊找鬼金矛。 笑死芯急,一個(gè)胖子當(dāng)著我的面吹牛倘潜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播志于,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼废睦!你這毒婦竟也來(lái)了伺绽?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤嗜湃,失蹤者是張志新(化名)和其女友劉穎奈应,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體购披,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡杖挣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了刚陡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惩妇。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖筐乳,靈堂內(nèi)的尸體忽然破棺而出歌殃,到底是詐尸還是另有隱情,我是刑警寧澤蝙云,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布氓皱,位于F島的核電站,受9級(jí)特大地震影響勃刨,放射性物質(zhì)發(fā)生泄漏波材。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一身隐、第九天 我趴在偏房一處隱蔽的房頂上張望廷区。 院中可真熱鬧,春花似錦抡医、人聲如沸躲因。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)大脉。三九已至,卻和暖如春水孩,著一層夾襖步出監(jiān)牢的瞬間镰矿,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工俘种, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留秤标,地道東北人绝淡。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像苍姜,于是被迫代替她去往敵國(guó)和親牢酵。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容