json
json是類(lèi)似于javascript對(duì)象的一種數(shù)據(jù)格式;
json格式的數(shù)據(jù):
{"name":'tom',
"age":18}
json數(shù)據(jù)格式的屬性名稱(chēng)需要用雙引號(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/value 值洁仗。
只適合有少量參數(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’和回車(chē)符‘\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)一次)
2.+ 出現(xiàn)一次或多次(至少出現(xiàn)一次)
3.* 出現(xiàn)零次或多次(任意次)
{n} 出現(xiàn)n次
{n,m} 出現(xiàn)n到m次
{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ù));