回味JS(四)JS內(nèi)置對(duì)象

上一篇文章開始講到JS的內(nèi)置對(duì)象,本篇繼續(xù)上一篇的內(nèi)容吞鸭。

4. Boolean對(duì)象

Boolean作為構(gòu)造函數(shù)和普通函數(shù)的使用有什么不同寺董?

  1. 作為構(gòu)造函數(shù),它主要用于生成布爾值的包裝對(duì)象實(shí)例刻剥,即生成值的類型是對(duì)象,值為布爾值
  2. 作為普通函數(shù),它就是一個(gè)單純的工具方法矗愧,將任意值轉(zhuǎn)為布爾值

正因?yàn)榈谝粭l,一些特殊值麦箍,Boolean對(duì)象前面加不加new,會(huì)得到完全相反的結(jié)果陶珠,必須小心挟裂。如new Boolean(false)的值實(shí)際上是true。

5. Number對(duì)象

Number對(duì)象有哪些實(shí)例方法揍诽?

  1. toString: 用來(lái)將一個(gè)數(shù)值轉(zhuǎn)為字符串形式诀蓉;

注意:toString方法可以接受一個(gè)參數(shù),表示輸出的進(jìn)制暑脆。如果省略這個(gè)參數(shù)渠啤,默認(rèn)將數(shù)值先轉(zhuǎn)為十進(jìn)制,再輸出字符串添吗;否則沥曹,就根據(jù)參數(shù)指定的進(jìn)制,將一個(gè)數(shù)字轉(zhuǎn)化成某個(gè)進(jìn)制的字符串

  1. toFixed: 先將一個(gè)數(shù)轉(zhuǎn)為指定位數(shù)的小數(shù)碟联,然后返回這個(gè)小數(shù)對(duì)應(yīng)的字符串

注意:由于浮點(diǎn)數(shù)的原因妓美,小數(shù)5的四舍五入是不確定的

  1. toExponential: 將一個(gè)數(shù)轉(zhuǎn)為科學(xué)計(jì)數(shù)法形式
  2. toPrecision: 將一個(gè)數(shù)轉(zhuǎn)為指定位數(shù)的有效數(shù)字

6. String對(duì)象

slice和substring,substr的異同玄帕?

  1. slice從原字符串取出子字符串并返回部脚,不改變?cè)址?
    • 第一個(gè)參數(shù)是子字符串的開始位置,第二個(gè)參數(shù)是子字符串的結(jié)束位置
    • 如果省略第二個(gè)參數(shù)裤纹,則表示子字符串一直到原字符串的結(jié)束
    • 如果參數(shù)是負(fù)值委刘,表示從結(jié)尾開始倒數(shù)計(jì)算的位置
    • 如果第一個(gè)參數(shù)大于第二個(gè)參數(shù),slice方法返回一個(gè)空字符串
  2. substring從原字符串取出子字符串并返回鹰椒,不改變?cè)址?
    • 第一個(gè)參數(shù)表示子字符串的開始位置锡移,第二個(gè)位置表示結(jié)束位置
    • 如果省略第二個(gè)參數(shù),則表示子字符串一直到原字符串的結(jié)束
    • 如果參數(shù)是負(fù)數(shù)漆际,substring方法會(huì)自動(dòng)將負(fù)數(shù)轉(zhuǎn)為0
    • 如果第一個(gè)參數(shù)大于第二個(gè)參數(shù)淆珊,substring方法會(huì)自動(dòng)更換兩個(gè)參數(shù)的位置
  3. substr方法用于從原字符串取出子字符串并返回,不改變?cè)址?
    • 第一個(gè)參數(shù)是子字符串的開始位置(從0開始計(jì)算)奸汇,第二個(gè)參數(shù)是子字符串的長(zhǎng)度
    • 如果省略第二個(gè)參數(shù)施符,則表示子字符串一直到原字符串的結(jié)束
    • 如果第一個(gè)參數(shù)是負(fù)數(shù),表示倒數(shù)計(jì)算的字符位置擂找。如果第二個(gè)參數(shù)是負(fù)數(shù)戳吝,將被自動(dòng)轉(zhuǎn)為0,因此會(huì)返回空字符串
// 第二個(gè)參數(shù)大于字符串的長(zhǎng)度時(shí):
'Armor'.slice(1, 7); // "rmor"
'Armor'.substring(1, 7); // "rmor"
'Armor'.substr(1, 7); // "rmor"

// 第二個(gè)參數(shù)為負(fù)數(shù)
'Armor'.slice(1, -1); // "rmo"
'Armor'.substring(1, -1); // "A"
'Armor'.substr(1, -1); // ""

// 第一個(gè)參數(shù)大于第二個(gè)參數(shù)
'Armor'.slice(3, 1); // ""
'Armor'.substring(3, 1); // "rm"
'Armor'.substr(3, 1); // "o"

7. Math對(duì)象

Math有哪些常用的靜態(tài)方法贯涎?

  • Math.abs():絕對(duì)值
  • Math.ceil():向上取整
  • Math.floor():向下取整
  • Math.max():最大值听哭, 參數(shù)為空時(shí)返回-Infinity
  • Math.min():最小值, 參數(shù)為空時(shí)返回Infinity
  • Math.pow():指數(shù)運(yùn)算
  • Math.sqrt():平方根, 如果參數(shù)是一個(gè)負(fù)值陆盘,則返回NaN
  • Math.log():自然對(duì)數(shù)
  • Math.exp():e的指數(shù)
  • Math.round():四舍五入
  • Math.random():隨機(jī)數(shù)

8. Date對(duì)象

Date的構(gòu)造函數(shù)和普通函數(shù)的用法普筹?

  1. 作為普通函數(shù)直接調(diào)用,返回一個(gè)代表當(dāng)前時(shí)間的字符串隘马,即使帶有參數(shù)太防,返回的仍然是當(dāng)前時(shí)間的字符串
  2. 作為構(gòu)造函數(shù)使用,返回一個(gè)Date對(duì)象的實(shí)例祟霍。如果不加參數(shù)杏头,實(shí)例代表的就是當(dāng)前時(shí)間
    • 參數(shù)可以是負(fù)整數(shù),代表1970年元旦之前的時(shí)間
    • 只要是能被Date.parse()方法解析的字符串沸呐,都可以當(dāng)作參數(shù)
    • 參數(shù)為年醇王、月、日等多個(gè)整數(shù)時(shí)崭添,年和月是不能省略的寓娩,其他參數(shù)都可以省略的

9. RegExp對(duì)象

exec 和 match 方法的異同?

  • 都是用來(lái)返回匹配結(jié)果呼渣。如果發(fā)現(xiàn)匹配棘伴,就返回一個(gè)數(shù)組,成員是匹配成功的子字符串屁置,否則返回null
  • exec方法的返回?cái)?shù)組還包含以下兩個(gè)屬性:
    • input:整個(gè)原字符串焊夸。
    • index:整個(gè)模式匹配成功的開始位置(從0開始計(jì)數(shù))。

不同:

  • exec是RegExp對(duì)象的實(shí)例方法蓝角, match是字符串對(duì)象的實(shí)例方法阱穗。
  • 如果正則表達(dá)式帶有g(shù)修飾符,match會(huì)一次性返回所有匹配成功的結(jié)果使鹅;而exec則可以使用多次exec方法揪阶,下一次搜索的位置從上一次匹配成功結(jié)束的位置開始,如果想完成全部匹配患朱,需要用循環(huán)鲁僚。
  • 調(diào)用exec方法的正則表達(dá)式中設(shè)置了g修飾符的時(shí)候,只要手動(dòng)設(shè)置了lastIndex的值裁厅,就會(huì)從指定位置開始匹配冰沙;但lastIndex屬性對(duì)match方法無(wú)效,匹配總是從字符串的第一個(gè)字符開始

有哪些預(yù)定義模式执虹?

預(yù)定義模式指的是某些常見模式的簡(jiǎn)寫方式倦淀。

  • \d 匹配0-9之間的任一數(shù)字,相當(dāng)于[0-9]声畏。
  • \D 匹配所有0-9以外的字符,相當(dāng)于[^0-9]。
  • \w 匹配任意的字母插龄、數(shù)字和下劃線愿棋,相當(dāng)于[A-Za-z0-9_]。
  • \W 除所有字母均牢、數(shù)字和下劃線以外的字符糠雨,相當(dāng)于[^A-Za-z0-9_]。
  • \s 匹配空格(包括換行符徘跪、制表符甘邀、空格符等),相等于[ \t\r\n\v\f]垮庐。
  • \S 匹配非空格的字符松邪,相當(dāng)于[^ \t\r\n\v\f]。
  • \b 匹配詞的邊界哨查。
  • \B 匹配非詞邊界逗抑,即在詞的內(nèi)部。

10. JSON 對(duì)象

JSON 對(duì)值的類型和格式規(guī)定寒亥?

  • 復(fù)合類型的值只能是數(shù)組或?qū)ο笥矢荒苁呛瘮?shù)、正則表達(dá)式對(duì)象溉奕、日期對(duì)象褂傀。
  • 原始類型的值只有四種:字符串、數(shù)值(必須以十進(jìn)制表示)加勤、布爾值和null(不能使用NaN, Infinity, -Infinity和undefined)仙辟。
  • 字符串必須使用雙引號(hào)表示,不能使用單引號(hào)胸竞。
  • 對(duì)象的鍵名必須放在雙引號(hào)里面欺嗤。
  • 數(shù)組或?qū)ο笞詈笠粋€(gè)成員的后面,不能加逗號(hào)卫枝。

JSON對(duì)象的兩個(gè)靜態(tài)方法

  1. JSON.stringify()
    • 將一個(gè)值轉(zhuǎn)為 JSON 字符串煎饼; *注意:對(duì)于原始類型的字符串,轉(zhuǎn)換結(jié)果會(huì)帶雙引號(hào)
    • 如果對(duì)象的屬性是undefined校赤、函數(shù)或 XML 對(duì)象吆玖,該屬性會(huì)被JSON.stringify過(guò)濾
    • 如果數(shù)組的成員是undefined、函數(shù)或 XML 對(duì)象马篮,則這些值被轉(zhuǎn)成null
    • 正則對(duì)象會(huì)被轉(zhuǎn)成空對(duì)象
    • JSON.stringify方法會(huì)忽略對(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閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件掷匠,死亡現(xiàn)場(chǎng)離奇詭異滥崩,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)讹语,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門钙皮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人顽决,你說(shuō)我怎么就攤上這事短条。” “怎么了才菠?”我有些...
    開封第一講書人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵茸时,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我鸠儿,道長(zhǎng)屹蚊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任进每,我火速辦了婚禮汹粤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘田晚。我一直安慰自己嘱兼,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開白布贤徒。 她就那樣靜靜地躺著芹壕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪接奈。 梳的紋絲不亂的頭發(fā)上踢涌,一...
    開封第一講書人閱讀 49,046評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音序宦,去河邊找鬼睁壁。 笑死,一個(gè)胖子當(dāng)著我的面吹牛互捌,可吹牛的內(nèi)容都是我干的潘明。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼秕噪,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼钳降!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起腌巾,我...
    開封第一講書人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤遂填,失蹤者是張志新(化名)和其女友劉穎铲觉,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體城菊,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡备燃,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了凌唬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡漏麦,死狀恐怖客税,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情撕贞,我是刑警寧澤更耻,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站捏膨,受9級(jí)特大地震影響秧均,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜号涯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一目胡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧链快,春花似錦誉己、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至霉祸,卻和暖如春筑累,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背丝蹭。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工慢宗, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人半夷。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓婆廊,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親巫橄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子淘邻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

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

  • 第5章 引用類型(返回首頁(yè)) 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,212評(píng)論 0 4
  • ??引用類型的值(對(duì)象)是引用類型的一個(gè)實(shí)例宾舅。 ??在 ECMAscript 中统阿,引用類型是一種數(shù)據(jù)結(jié)構(gòu),用于將數(shù)...
    霜天曉閱讀 1,036評(píng)論 0 1
  • Array對(duì)象 Array是 JavaScript 的原生對(duì)象筹我,同時(shí)也是一個(gè)構(gòu)造函數(shù)扶平,可以用它生成新的數(shù)組。Arr...
    guyigg閱讀 2,122評(píng)論 0 2
  • 概述 String對(duì)象是JavaScript原生提供的三個(gè)包裝對(duì)象之一蔬蕊,用來(lái)生成字符串的包裝對(duì)象结澄。 上面代碼中,變...
    許先生__閱讀 165評(píng)論 0 1
  • String對(duì)象是JavaScript原生提供的三個(gè)包裝對(duì)象之一岸夯,用來(lái)生成字符串的包裝對(duì)象麻献。 上面代碼中,變量s1...
    zjh111閱讀 568評(píng)論 0 0