在上一篇文章中,主要學(xué)習(xí)了JavaScript的閉包,箭頭函數(shù)。這一篇文章我們主要學(xué)習(xí)JavaScript中的Date、正則表達(dá)式、Json、瀏覽器對(duì)象
Data:
JavaScript中,使用Data來(lái)表示日期對(duì)象,既然是日期對(duì)象我們就可以獲取具體的時(shí)間、月份、分鐘等等,下面是基本的使用:

通過(guò)代碼的日志可以看到,JavaScript的Date對(duì)象月份值居然是從0開(kāi)始算起,0 = 1 月,1 = 2月,……,11=12月。
那這種尷尬的結(jié)果,如何變成我們想要的實(shí)際結(jié)果咧?(也就是數(shù)字1代表的就是1月)
可以直接在月份的數(shù)據(jù)加 1 ,這樣可以快速解決問(wèn)題。
正則表達(dá)式:
跟Java的設(shè)計(jì)理念一樣,正則表達(dá)式是一種用來(lái)匹配字符串的強(qiáng)有力的武器。它的設(shè)計(jì)思想是用一種描述性的語(yǔ)言來(lái)給字符串定義一個(gè)規(guī)則,凡是符合規(guī)則的字符串,我們就認(rèn)為它“匹配”了,否則,該字符串就是不合法的。比如,匹配郵箱,匹配電話號(hào)碼等等,關(guān)于JavaScript的具體的正則表達(dá)式的內(nèi)容這里就不具體講了,因?yàn)榘俣裙雀韬芏嚅_(kāi)源的輪子,我們只需要知道有這樣一個(gè)概念,使用的時(shí)候根據(jù)場(chǎng)景合理Copy就行
下面是一些常見(jiàn)的正則表達(dá)式寫(xiě)法,只是列舉了其中的幾項(xiàng)

Json:
對(duì)于Json,開(kāi)發(fā)人員不是很陌生,JSON是JavaScript Object Notation的縮寫(xiě),它是一種輕量級(jí)的數(shù)據(jù)交換格式。在Java中,我們可以使用系統(tǒng)的JsonObject和JsonArray或者谷歌的Gson來(lái)進(jìn)行相應(yīng)的操作,那么,在JavaScript中,Json該如何使用?
首先,json這個(gè)數(shù)據(jù)格式,對(duì)象和數(shù)組是最常用的兩種類(lèi)型。其中,對(duì)象表示為鍵值對(duì)、數(shù)據(jù)由逗號(hào)分隔;花括號(hào)為保存json對(duì)象、方括號(hào)保存json數(shù)組,可能有點(diǎn)不好認(rèn)識(shí),下面截個(gè)圖區(qū)分一下。

1:將JavaScript對(duì)象轉(zhuǎn)換為json,使用JSON.stringify 這個(gè)函數(shù)

其中,JSON.stringify這個(gè)函數(shù)是一個(gè)方法重載,支持多個(gè)參數(shù),功能比較強(qiáng)大:

比如,我現(xiàn)在有這樣一個(gè)對(duì)象,我想把它轉(zhuǎn)為json字符串,但是我只想要里面的name標(biāo)簽以及數(shù)組skills標(biāo)簽,這種情況該如何去做?
這個(gè)時(shí)候我們可以使用JSON.stringify的方法重載去使用,第二個(gè)參數(shù)就是過(guò)濾的條件

再比如,我現(xiàn)在有這樣一個(gè)對(duì)象,我想把它轉(zhuǎn)為json字符串,但是我只想要里面所有標(biāo)簽的value屬性值,全部大寫(xiě),這種情況又該如何去做?
我們可以定義一個(gè)函數(shù),因?yàn)镴SON.stringify 方法重載里面的參數(shù),也支持傳一個(gè)函數(shù)

那么,解析Json,該怎么操作?
下面就是解析Json的常規(guī)寫(xiě)法:

調(diào)用parse函數(shù)即可解析json。
瀏覽器對(duì)象:
我們知道,H5的代碼是部署在網(wǎng)頁(yè)上面的,調(diào)試也是在網(wǎng)頁(yè)上面進(jìn)行的,如果你有學(xué)習(xí)或者從事Android開(kāi)發(fā)和ios開(kāi)發(fā),會(huì)發(fā)現(xiàn),手機(jī)和電腦開(kāi)發(fā)的一個(gè)很大的不同在于,手機(jī)需要花很大的精力去完成適配,這一點(diǎn)在Android碎片化現(xiàn)象非常嚴(yán)重的現(xiàn)在尤其明顯,ios適配屏幕相反沒(méi)有那么大壓力。
1:window
window對(duì)象不僅充當(dāng)全局作用域,而且表示瀏覽器窗口。window對(duì)象有innerWidth和innerHeight屬性,可以獲取瀏覽器窗口的內(nèi)部寬度和高度。內(nèi)部寬高是指除去菜單欄、工具欄、邊框等占位元素后,用于顯示網(wǎng)頁(yè)的凈寬高。
其中,使用navigator的一些API可以獲取相應(yīng)的信息,如下圖:

2:screen
screen對(duì)象表示屏幕的信息,常用的屬性有:
screen.width:屏幕寬度,以像素為單位:、screen.height:屏幕高度,以像素為單位;

本篇文章主要學(xué)習(xí)的是關(guān)于Date、正則表達(dá)式、Json、瀏覽器對(duì)象。本章的基本內(nèi)容就結(jié)束了。
未完待續(xù)。。。
如果這篇文章對(duì)您有開(kāi)發(fā)or學(xué)習(xí)上的些許幫助,希望各位看官留下寶貴的star,謝謝。
Ps:著作權(quán)歸作者所有,轉(zhuǎn)載請(qǐng)注明作者, 商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處(開(kāi)頭或結(jié)尾請(qǐng)?zhí)砑愚D(zhuǎn)載出處,添加原文url地址),文章請(qǐng)勿濫用,也希望大家尊重筆者的勞動(dòng)成果。