Day19 json

json

json是類似于javascript對(duì)象的一種數(shù)據(jù)格式;

json格式的數(shù)據(jù):

{"name":'tom',

"age":18}

json數(shù)據(jù)格式的屬性名稱需要用雙引號(hào)引起來(lái),用單引號(hào)或者不用引號(hào)會(huì)導(dǎo)致讀取數(shù)據(jù)錯(cuò)誤。

json的另外一個(gè)數(shù)據(jù)格式是數(shù)組;

例如:['tom',18,'programmer']??;

中括號(hào)是對(duì)象,大括號(hào)是數(shù)組;

對(duì)象和數(shù)組都是可以相互嵌套的;

info?:??信息;

ajax

ajax技術(shù)的原理是實(shí)例化;

使用此對(duì)象與后臺(tái)通信。ajax通信的過(guò)程不會(huì)影響后續(xù)javascript的執(zhí)行,從而實(shí)現(xiàn)異步;

ajax可以實(shí)現(xiàn)局部刷新,也叫做無(wú)刷新,無(wú)刷新指的是整個(gè)頁(yè)面不刷新,只是局部刷新,ajax可以自己發(fā)送http請(qǐng)求;

$.ajax使用方法

常用參數(shù):

1、url?請(qǐng)求地址

2、type?請(qǐng)求方式,默認(rèn)是'GET',常用的還有'POST'

3、dataType?設(shè)置返回的數(shù)據(jù)格式,常用的是'json'格式,也可以設(shè)置為'html'

4、data?設(shè)置發(fā)送給服務(wù)器的數(shù)據(jù)

5、success?設(shè)置請(qǐng)求成功后的回調(diào)函數(shù)

6、error?設(shè)置請(qǐng)求失敗后的回調(diào)函數(shù)

7、async?設(shè)置是否異步,默認(rèn)值是'true',表示異步;

ajax,是前端與后臺(tái)連接的地方;

表單文件中g(shù)et與post的區(qū)別?

get

*???URL?改變,在URL?里顯示?HTML?Form?參數(shù)的?name

alue?值。

*???只適合有少量參數(shù)的?HTML?Form,因?yàn)?URL?長(zhǎng)度有字符限制,不能無(wú)限長(zhǎng)。

*???涉及安全性的信息,比如用戶密碼,不能用?get,因?yàn)闀?huì)在?URL?上顯示,不安全。

post

*???URL?不改變,不在?URL?里顯示?HTML?Form?的數(shù)據(jù)。

*???Form?提交的信息沒(méi)有長(zhǎng)度限制。

*???涉及安全性的信息,如用戶密碼,應(yīng)采用?post?方式。

jsonp

ajax只能請(qǐng)求同一個(gè)域下的數(shù)據(jù)或資源,有時(shí)候需要跨域請(qǐng)求數(shù)據(jù),就需要用到j(luò)sonp技術(shù),jsonp可以跨域請(qǐng)求數(shù)據(jù),它的原理主要是利用了script標(biāo)簽可以跨域鏈接資源的特性。

頁(yè)面上定義一個(gè)函數(shù),引用一個(gè)外部js文件,外部js文件的地址可以是不同域的地址,外部js文件;

例如:aa({"name":"tom","age":18});

外部js文件調(diào)用頁(yè)面上定義的函數(shù),通過(guò)參數(shù)把數(shù)據(jù)傳進(jìn)去。

正則表達(dá)式

什么是正則表達(dá)式?

字符串匹配規(guī)則;

正則表達(dá)式的寫(xiě)法:

1.var?re=new?RegExp('規(guī)則',?'可選參數(shù)');??面向?qū)ο蟮姆椒ǎ?/p>

2.var?re=/規(guī)則/參數(shù);

規(guī)則中的字符

1普通字符匹配:

例如:/a/?匹配字符?‘a(chǎn)’,/a,b/?匹配字符?‘a(chǎn),b’

2.轉(zhuǎn)義字符匹配:

\d?匹配一個(gè)數(shù)字,即0-9

\D?匹配一個(gè)非數(shù)字,即除了0-9

\w?匹配一個(gè)單詞字符(字母、數(shù)字、下劃線)

\W?匹配任何非單詞字符。等價(jià)于[^A-Za-z0-9_]

\s?匹配一個(gè)空白符

\S?匹配一個(gè)非空白符

\b?匹配單詞邊界

\B?匹配非單詞邊界

.?匹配一個(gè)任意字符,除了換行符‘\n’和回車符‘\r’

\1?重復(fù)子項(xiàng);

正則匹配的是字符串用的;???????字符串里有一個(gè)都返回true;

任意一個(gè)或者范圍

1.[abc123]?:?匹配‘a(chǎn)bc123’中的任意一個(gè)字符;

2.[a-z0-9]?:?匹配a到z或者0到9中的任意一個(gè)字符;

限制開(kāi)頭結(jié)尾

1.^?以緊挨的元素開(kāi)頭;

2.$?以緊挨的元素結(jié)尾;

量詞:對(duì)左邊的匹配字符定義個(gè)數(shù)

1.???出現(xiàn)零次或一次(最多出現(xiàn)一次)(可以出翔0次和1次);

2.?+?出現(xiàn)一次或多次(至少出現(xiàn)一次);

3.?*?出現(xiàn)零次或多次(任意次);

4.?{n}?出現(xiàn)n次??;

5.?{n,m}?出現(xiàn)n到m次??;

6.?{n,}?至少出現(xiàn)n次???;

修飾參數(shù):

g:?global,全文搜索,默認(rèn)搜索到第一個(gè)結(jié)果接停止

i:?ingore?case,忽略大小寫(xiě),默認(rèn)大小寫(xiě)敏感

m:?multiple?lines,多行搜索(更改^?和$的含義,使它們分別在任意一行對(duì)待行首和行尾匹配,而

不僅僅在整個(gè)字符串的開(kāi)頭和結(jié)尾匹配);

常用函數(shù)

1、test??????????用法:正則.test(字符串)?匹配成功,就返回真,否則就返回假;

2、search?????用法:字符串.search(正則)?匹配成功,返回位置,否則返回-1;(相當(dāng)于indexof?索引)

3、match??????用法:?字符串.match(正則);匹配成功,就返回匹配成功的數(shù)組,否則就返回null;

4、replace?????用法:字符串.replace(正則,新的字符串)?匹配成功的字符去替換新的字符(替換函數(shù));

?著作權(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ù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 概要 64學(xué)時(shí) 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,851評(píng)論 0 3
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,568評(píng)論 19 139
  • HDFS是Hadoop家族成員之一,Hadoop還包括hive ,hbase ,zombie,mapreduce...
    起個(gè)什么呢稱呢閱讀 265評(píng)論 0 1
  • 文|小魚(yú)怪 媽媽走之前,千叮嚀萬(wàn)囑咐:“一定要吃早餐??!”我蒙在被窩里隨便應(yīng)付著?!耙灰獛湍惆褵艚o關(guān)了?”我把頭...
    小魚(yú)怪閱讀 250評(píng)論 0 7

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