2019-06-12 JS(包裝對(duì)象、正則语盈、Date舱馅、Math、JSON)

(本文摘錄于阮一峰老師所寫(xiě)文章刀荒,https://wangdoc.com/javascript/basic/index.html代嗤,作個(gè)人學(xué)習(xí)使用。)

包裝對(duì)象

1缠借、“包裝對(duì)象”(wrapper)指的是與數(shù)值干毅、字符串、布爾值分別相對(duì)應(yīng)的Number泼返、String硝逢、Boolean三個(gè)原生對(duì)象。這三個(gè)原生對(duì)象可以把原始類(lèi)型的值變成(包裝成)對(duì)象。
這三個(gè)對(duì)象作為構(gòu)造函數(shù)使用(帶有new)時(shí)渠鸽,可以將原始類(lèi)型的值轉(zhuǎn)為對(duì)象叫乌;作為普通函數(shù)(工具函數(shù))使用時(shí)(不帶有new),可以將任意類(lèi)型的值徽缚,轉(zhuǎn)為原始類(lèi)型的值憨奸。

2、原始類(lèi)型與實(shí)例對(duì)象的自動(dòng)轉(zhuǎn)換凿试。
某些場(chǎng)合排宰,原始類(lèi)型的值會(huì)自動(dòng)當(dāng)作包裝對(duì)象調(diào)用,即調(diào)用包裝對(duì)象的屬性和方法红省。這時(shí)额各,JavaScript 引擎會(huì)自動(dòng)將原始類(lèi)型的值轉(zhuǎn)為包裝對(duì)象實(shí)例,并在使用后立刻銷(xiāo)毀實(shí)例吧恃。

3虾啦、除了原生的實(shí)例方法,包裝對(duì)象還可以自定義方法和屬性痕寓,供原始類(lèi)型的值直接調(diào)用傲醉。
String.prototype.double = function () {
return this.valueOf() + this.valueOf();
};
'abc'.double()
// abcabc

Boolean對(duì)象

4、Boolean(undefined) // false
Boolean(null) // false
Boolean(0) // false
Boolean('') // false
Boolean(NaN) // false

Number對(duì)象

5呻率、Number對(duì)象實(shí)例方法:toString()硬毕、toFixed()、toExponential() 礼仗、toPrecision()

String對(duì)象

6吐咳、字符串對(duì)象是一個(gè)類(lèi)似數(shù)組的對(duì)象(很像數(shù)組,但不是數(shù)組)元践。字符串a(chǎn)bc對(duì)應(yīng)的字符串對(duì)象韭脊,有數(shù)值鍵(0、1单旁、2)和length屬性沪羔,所以可以像數(shù)組那樣取值。

7象浑、實(shí)例方法


image.png

Math對(duì)象

8蔫饰、Math是 JavaScript 的原生對(duì)象,提供各種數(shù)學(xué)功能愉豺。該對(duì)象不是構(gòu)造函數(shù)篓吁,不能生成實(shí)例,所有的屬性和方法都必須在Math對(duì)象上調(diào)用蚪拦。


image.png

Date對(duì)象

9杖剪、Date對(duì)象可以作為普通函數(shù)直接調(diào)用节腐,返回一個(gè)代表當(dāng)前時(shí)間的字符串。
Date還可以當(dāng)作構(gòu)造函數(shù)使用摘盆。對(duì)它使用new命令,會(huì)返回一個(gè)Date對(duì)象的實(shí)例饱苟。如果不加參數(shù)孩擂,實(shí)例代表的就是當(dāng)前時(shí)間。
(內(nèi)容很多箱熬,暫時(shí)沒(méi)有詳細(xì)學(xué)習(xí))

RegExp 對(duì)象

10类垦、正則表達(dá)式(regular expression)是一種表達(dá)文本模式(即字符串結(jié)構(gòu))的方法,有點(diǎn)像字符串的模板城须,常常用來(lái)按照“給定模式”匹配文本蚤认。比如,正則表達(dá)式給出一個(gè) Email 地址的模式糕伐,然后用它來(lái)確定一個(gè)字符串是否為 Email 地址砰琢。
新建正則表達(dá)式有兩種方法。一種是使用字面量良瞧,以斜杠表示開(kāi)始和結(jié)束陪汽。另一種是使用RegExp構(gòu)造函數(shù)。

11褥蚯、實(shí)例屬性:
一類(lèi)是修飾符相關(guān)挚冤,用于了解設(shè)置了什么修飾符。
RegExp.prototype.ignoreCase:返回一個(gè)布爾值赞庶,表示是否設(shè)置了i修飾符训挡。
RegExp.prototype.global:返回一個(gè)布爾值,表示是否設(shè)置了g修飾符歧强。
RegExp.prototype.multiline:返回一個(gè)布爾值澜薄,表示是否設(shè)置了m修飾符。
RegExp.prototype.flags:返回一個(gè)字符串誊锭,包含了已經(jīng)設(shè)置的所有修飾符表悬,按字母排序。

另一類(lèi)是與修飾符無(wú)關(guān)的屬性丧靡,主要是下面兩個(gè)蟆沫。
RegExp.prototype.lastIndex:返回一個(gè)整數(shù),表示下一次開(kāi)始搜索的位置温治。該屬性可讀寫(xiě)饭庞,但是只在進(jìn)行連續(xù)搜索時(shí)有意義。
RegExp.prototype.source:返回正則表達(dá)式的字符串形式(不包括反斜杠)熬荆,該屬性只讀舟山。

12、實(shí)例方法:
RegExp.prototype.test() //正則實(shí)例對(duì)象的test方法返回一個(gè)布爾值,表示當(dāng)前模式是否能匹配參數(shù)字符串累盗。
RegExp.prototype.exec() //正則實(shí)例對(duì)象的exec方法寒矿,用來(lái)返回匹配結(jié)果。如果發(fā)現(xiàn)匹配若债,就返回一個(gè)數(shù)組符相,成員是匹配成功的子字符串,否則返回null蠢琳。

13啊终、字符串的實(shí)例方法之中,有4種與正則表達(dá)式有關(guān)傲须。
String.prototype.match():返回一個(gè)數(shù)組蓝牲,成員是所有匹配的子字符串。
String.prototype.search():按照給定的正則表達(dá)式進(jìn)行搜索泰讽,返回一個(gè)整數(shù)例衍,表示匹配開(kāi)始的位置。
String.prototype.replace():按照給定的正則表達(dá)式進(jìn)行替換已卸,返回替換后的字符串肄渗。
String.prototype.split():按照給定規(guī)則進(jìn)行字符串分割,返回一個(gè)數(shù)組咬最,包含分割后的各個(gè)成員翎嫡。

14、匹配規(guī)則(比較復(fù)雜永乌,后面再看)

JSON對(duì)象

15惑申、JSON格式:
每個(gè) JSON 對(duì)象就是一個(gè)值,可能是一個(gè)數(shù)組或?qū)ο蟪岢部赡苁且粋€(gè)原始類(lèi)型的值圈驼。總之望几,只能是一個(gè)值绩脆,不能是兩個(gè)或更多的值。JSON 對(duì)值的類(lèi)型和格式有嚴(yán)格的規(guī)定橄抹。復(fù)合類(lèi)型的值只能是數(shù)組或?qū)ο笱テ龋荒苁呛瘮?shù)、正則表達(dá)式對(duì)象楼誓、日期對(duì)象玉锌。

(1)原始類(lèi)型的值只有四種:字符串、數(shù)值(必須以十進(jìn)制表示)疟羹、布爾值和null(不能使用NaN, Infinity, -Infinity和undefined)主守。注意禀倔,null、空數(shù)組和空對(duì)象都是合法的 JSON 值参淫。
(2)字符串必須使用雙引號(hào)表示救湖,不能使用單引號(hào)。
(3)對(duì)象的鍵名必須放在雙引號(hào)里面涎才。
(4)數(shù)組或?qū)ο笞詈笠粋€(gè)成員的后面捎谨,不能加逗號(hào)。

16憔维、JSON對(duì)象
JSON對(duì)象是 JavaScript 的原生對(duì)象,用來(lái)處理 JSON 格式數(shù)據(jù)畏邢。它有兩個(gè)靜態(tài)方法:JSON.stringify()和JSON.parse()业扒。

(1)JSON.stringify方法用于將一個(gè)值轉(zhuǎn)為 JSON 字符串。該字符串符合 JSON 格式舒萎,并且可以被JSON.parse方法還原程储。

如果對(duì)象的屬性是undefined、函數(shù)或 XML 對(duì)象臂寝,該屬性會(huì)被JSON.stringify過(guò)濾章鲤。
如果數(shù)組的成員是undefined、函數(shù)或 XML 對(duì)象咆贬,則這些值被轉(zhuǎn)成null败徊。
正則對(duì)象會(huì)被轉(zhuǎn)成空對(duì)象。

此方法可以有第二個(gè)參數(shù)(寫(xiě)一個(gè)數(shù)組掏缎,來(lái)指定需要轉(zhuǎn)成字符串的屬性皱蹦,對(duì)對(duì)象有效,對(duì)數(shù)組無(wú)效眷蜈,這個(gè)參數(shù)可以是函數(shù))
此方法可以有第三個(gè)參數(shù)(用來(lái)方便展示沪哺,增加可讀性)。

toJSON方法:如果參數(shù)對(duì)象有自定義的toJSON方法酌儒,那么JSON.stringify會(huì)使用這個(gè)方法的返回值作為參數(shù)辜妓,而忽略原對(duì)象的其他屬性。

(2)JSON.parse方法用于將 JSON 字符串轉(zhuǎn)換成對(duì)應(yīng)的值忌怎。如果傳入的字符串不是有效的 JSON 格式籍滴,JSON.parse方法將報(bào)錯(cuò)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末榴啸,一起剝皮案震驚了整個(gè)濱河市异逐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌插掂,老刑警劉巖灰瞻,帶你破解...
    沈念sama閱讀 216,843評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腥例,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡酝润,警方通過(guò)查閱死者的電腦和手機(jī)燎竖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)要销,“玉大人构回,你說(shuō)我怎么就攤上這事∈韪溃” “怎么了纤掸?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,187評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)浑塞。 經(jīng)常有香客問(wèn)我借跪,道長(zhǎng),這世上最難降的妖魔是什么酌壕? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,264評(píng)論 1 292
  • 正文 為了忘掉前任掏愁,我火速辦了婚禮,結(jié)果婚禮上卵牍,老公的妹妹穿的比我還像新娘果港。我一直安慰自己,他們只是感情好糊昙,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,289評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著公浪,像睡著了一般船侧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上镜撩,一...
    開(kāi)封第一講書(shū)人閱讀 51,231評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音袁梗,去河邊找鬼。 笑死淋袖,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的即碗。 我是一名探鬼主播,決...
    沈念sama閱讀 40,116評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼剥懒,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了验游?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,945評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤耕蝉,失蹤者是張志新(化名)和其女友劉穎夜只,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體盐肃,經(jīng)...
    沈念sama閱讀 45,367評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡权悟,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,581評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了谦铃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,754評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡驹闰,死狀恐怖撒会,靈堂內(nèi)的尸體忽然破棺而出嘹朗,到底是詐尸還是另有隱情诵肛,我是刑警寧澤,帶...
    沈念sama閱讀 35,458評(píng)論 5 344
  • 正文 年R本政府宣布褪秀,位于F島的核電站,受9級(jí)特大地震影響媒吗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜闸英,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,068評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望自阱。 院中可真熱鬧,春花似錦沛豌、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,692評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)竹勉。三九已至,卻和暖如春次乓,著一層夾襖步出監(jiān)牢的瞬間孽水,已是汗流浹背票腰。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,842評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工女气, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人炼鞠。 一個(gè)月前我還...
    沈念sama閱讀 47,797評(píng)論 2 369
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像朝扼,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子吟税,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,654評(píng)論 2 354