JavaScript學(xué)習(xí)之旅-11(原創(chuàng))

上一篇文章中,主要學(xué)習(xí)了JavaScript的閉包,箭頭函數(shù)。這一篇文章我們主要學(xué)習(xí)JavaScript中的Date、正則表達(dá)式、Json、瀏覽器對(duì)象

Data:

JavaScript中,使用Data來(lái)表示日期對(duì)象,既然是日期對(duì)象我們就可以獲取具體的時(shí)間、月份、分鐘等等,下面是基本的使用:

Data相關(guān)API

通過(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ù)

對(duì)象轉(zhuǎn)json

其中,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ě)法:

解析json

調(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)成果。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容