jsonp
ajax只能請求同一個(gè)域下的數(shù)據(jù)或資源,有時(shí)候需要跨域請求數(shù)據(jù)魔策,就需要用到j(luò)sonp技術(shù)欣除,jsonp可以跨域請求數(shù)據(jù)兔朦,它的原理主要是利用了script標(biāo)簽可以跨域鏈接資源的特性在旱。
jsonp的原理如下:
<script type="text/javascript">
function aa(dat){
alert(dat.name);
}
</script>
<script type="text/javascript" src="....../js/data.js"></script>
頁面上定義一個(gè)函數(shù)摇零,引用一個(gè)外部js文件,外部js文件的地址可以是不同域的地址桶蝎,外部js文件的內(nèi)容如下:
aa({"name":"tom","age":18});
外部js文件調(diào)用頁面上定義的函數(shù)遂黍,通過參數(shù)把數(shù)據(jù)傳進(jìn)去。
正則表達(dá)式
1俊嗽、什么是正則表達(dá)式:
能讓計(jì)算機(jī)讀懂的字符串匹配規(guī)則。
2铃彰、正則表達(dá)式的寫法:
var re=new RegExp('規(guī)則', '可選參數(shù)');
var re=/規(guī)則/參數(shù);
3绍豁、規(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)
4带到、量詞:對(duì)左邊的匹配字符定義個(gè)數(shù)
? 出現(xiàn)零次或一次(最多出現(xiàn)一次)
出現(xiàn)一次或多次(至少出現(xiàn)一次)
出現(xiàn)零次或多次(任意次)
{n} 出現(xiàn)n次
{n,m} 出現(xiàn)n到m次
{n,} 至少出現(xiàn)n次
5昧碉、任意一個(gè)或者范圍
[abc123] : 匹配‘a(chǎn)bc123’中的任意一個(gè)字符
[a-z0-9] : 匹配a到z或者0到9中的任意一個(gè)字符
6、限制開頭結(jié)尾
^ 以緊挨的元素開頭
$ 以緊挨的元素結(jié)尾
7揽惹、修飾參數(shù):
g: global被饿,全文搜索,默認(rèn)搜索到第一個(gè)結(jié)果接停止
i: ingore case搪搏,忽略大小寫狭握,默認(rèn)大小寫敏感
m: multiple lines,多行搜索(更改^ 和$的含義疯溺,使它們分別在任意一行對(duì)待行首和行尾匹配论颅,而不僅僅在整個(gè)字符串的開頭和結(jié)尾匹配)
8哎垦、常用函數(shù)
1、test
用法:正則.test(字符串) 匹配成功恃疯,就返回真漏设,否則就返回假
2、search
用法:字符串.search(正則) 匹配成功澡谭,返回位置愿题,否則返回-1
3、match
用法: 字符串.match(正則)蛙奖;匹配成功潘酗,就返回匹配成功的數(shù)組,否則就返回null
4雁仲、replace
用法:字符串.replace(正則仔夺,新的字符串) 匹配成功的字符去替換新的字符
正則默認(rèn)規(guī)則
匹配成功就結(jié)束,不會(huì)繼續(xù)匹配攒砖,區(qū)分大小寫
本地存儲(chǔ)
本地存儲(chǔ)分為cookie缸兔,以及新增的localStorage和sessionStorage
1、cookie 存儲(chǔ)在本地吹艇,容量最大4k惰蜜,在同源的http請求時(shí)攜帶傳遞,損耗帶寬受神,可設(shè)置訪問路徑抛猖,只有此路徑及此路徑的子路徑才能訪問此cookie,在設(shè)置的過期時(shí)間之前有效鼻听。
jquery 設(shè)置cookie
[圖片上傳失敗...(image-475708-1547556416040)]
.cookie('mycookie');
2财著、localStorage 存儲(chǔ)在本地,容量為5M或者更大撑碴,不會(huì)在請求時(shí)候攜帶傳遞撑教,在所有同源窗口中共享,數(shù)據(jù)一直有效醉拓,除非人為刪除伟姐,可作為長期數(shù)據(jù)。
//設(shè)置:
localStorage.setItem("dat", "456");
localStorage.dat = '456';
//獲纫诼薄:
localStorage.getItem("dat");
localStorage.dat
//刪除
localStorage.removeItem("dat");
3玫镐、sessionStorage 存儲(chǔ)在本地,容量為5M或者更大怠噪,不會(huì)在請求時(shí)候攜帶傳遞恐似,在同源的當(dāng)前窗口關(guān)閉前有效。
localStorage 和 sessionStorage 合稱為Web Storage , Web Storage支持事件通知機(jī)制傍念,可以將數(shù)據(jù)更新的通知監(jiān)聽者矫夷,Web Storage的api接口使用更方便葛闷。
iPhone的無痕瀏覽不支持Web Storage,只能用cookie双藕。
jqueryUI
jQuery UI是以 jQuery 為基礎(chǔ)的代碼庫淑趾。包含底層用戶交互、動(dòng)畫忧陪、特效和可更換主題的可視控件扣泊。我們可以直接用它來構(gòu)建具有很好交互性的web應(yīng)用程序。
常用jqueryUI插件:
Draggable
1嘶摊、設(shè)置數(shù)值的滑動(dòng)條
2延蟹、自定義滾動(dòng)條
jqueryUI 網(wǎng)址
http://jqueryui.com/