[前端學(xué)習(xí)]js特效部分學(xué)習(xí)筆記,第三天

鼠標(biāo)事件

  • 有些之前應(yīng)該記錄過,這里作一個(gè)總結(jié):
    元素.onmousedown 鼠標(biāo)按下
    元素.onmouseup 鼠標(biāo)彈起
    元素.onclick 鼠標(biāo)點(diǎn)擊
    元素.ondblclick 鼠標(biāo)雙擊
    元素.onmouseover 鼠標(biāo)經(jīng)過
    元素.onmouseout 鼠標(biāo)離開
    元素.onmousemove 鼠標(biāo)移動(dòng)

鍵盤事件

  • 現(xiàn)在用到的有三個(gè)
    元素.onkeydown 鍵盤按下
    元素.onkeyup 鍵盤彈起
    元素.onkeypress 鍵盤按壓
  • onkeypress的觸發(fā)方式和onkeydown一樣坏晦,但是它們之間的編碼不一樣棍弄。
  • event.keyCode可以獲取到對(duì)應(yīng)鍵的編碼

表單事件

  • 匯總幾個(gè)常用的:
    元素.onfocus 表單控件獲得焦點(diǎn)
    元素.onblur表單失去焦點(diǎn)
    元素.oninput 用戶在表單控件輸入的時(shí)候執(zhí)行
    元素.onchange 表單控件失去焦點(diǎn)后该园,如果其內(nèi)容發(fā)生了改變執(zhí)行

正則表達(dá)式

正則表達(dá)式的創(chuàng)建

  • 有兩種方式可以創(chuàng)建正則表達(dá)式
    • 通過構(gòu)造函數(shù)創(chuàng)建:
      var regEx = new RegExp(/正則表達(dá)式/);
    • 通過字面量創(chuàng)建:
      var regEx = /正則表達(dá)式/兆解;
  • 通過字面量的方式來創(chuàng)建正則用得最多披摄。當(dāng)然如果正則只使用一次亲雪,那么連變量都可以不用,直接寫也可以疚膊。
  • 正則表達(dá)式必須用//包裹起來

test方法

  • 正則表達(dá)式其實(shí)就用來匹配字符串义辕,所以當(dāng)你創(chuàng)建了正則后,肯定還要需要用正則去匹配寓盗。js中正則內(nèi)置了.test方法
  • 正則.test(要匹配的值)灌砖,匹配成功返回true,匹配不成功返回false

預(yù)定義類

  • 預(yù)定義類就是已經(jīng)定義好的匹配格式
    . === [^\n\r] 匹配除換行和回車意外的任意字符
    \d === [0-9] 匹配數(shù)字字符
    \D === [^0-9] 匹配非數(shù)字字符
    \s === [\f\r\t\n\v] 匹配不可見的字符(換行傀蚌,回車基显,空格等等)
    \S === [^\f\r\t\n\v] 匹配非不可見的字符
    \w === [a-zA-Z0-9] 匹配單詞字符(所有英文字母,數(shù)字善炫,下劃線)
    \W === [^a-zA-Z0-9] 匹配非單詞字符
  • ===就是等價(jià)于的意思撩幽,左右作用完全相同。還可以發(fā)現(xiàn)預(yù)定于類,大寫和小寫它們的作用正好相反

字符類

  • 字符串就是通過實(shí)際的字符來匹配
  • 簡(jiǎn)單類[]
    • /[abc]/ 在正則中單獨(dú)只寫[]就表示或的意思窜醉,例子只要是abc三個(gè)字符任意一個(gè)字符匹配都可以宪萄,注意只有單獨(dú)寫不加其他字符類,才是或
  • 反向類^
    • /[^abc]/ 反向就是非的意思榨惰,例子中只要不是abc的字符都可以匹配拜英。注意:這個(gè)字符只有放在[]中才表示非
  • 范圍類-
    • /[a-c]/ 橫線表示范圍,例子中a到c之間的任意字符有就能匹配
  • 組合類
    • /[a-dA-G0-8]/ 組合類實(shí)際就是把多個(gè)范圍組合起來读串,在這個(gè)組合的范圍里有就能匹配聊记,注意范圍類和組合類中的范圍都沒有限制,可以隨便寫

邊界符

  • 之間寫的驗(yàn)證符號(hào)有一個(gè)局限性恢暖,就是只要字符串中有符合了正則的值排监,那么就會(huì)返回true。但是這種策略在實(shí)際中明顯是不行的杰捂,如果想要正則嚴(yán)格匹配舆床,就需要加上邊界符
  • ^ 限制開頭
    • /^a/ 當(dāng)^不在中括號(hào)里時(shí),就是邊界符嫁佳,例子中就表示字符串必須是以a開頭才能匹配
  • $ 限制結(jié)尾
    • /a$/ 例子中就表示字符串必須是以a結(jié)尾才能匹配
  • 嚴(yán)格限制
    • /^a$/ 如果限制開頭和限制結(jié)尾一起寫挨队,就說明必須是以a開頭以a結(jié)尾,也就是只有a才能匹配成功蒿往。注意:aa雖然也是a開頭a結(jié)尾盛垦,但是依然不能匹配成功,只有配合量詞才行瓤漏。

量詞

  • 正則中量詞是用來限制字符允許出現(xiàn)的次數(shù)
  • /x*/ *號(hào)表示腾夯,x能出現(xiàn)0次或多次,等價(jià)于x>=0
  • /x+/ +號(hào)表示蔬充,x能出現(xiàn)1次或多次蝶俱,等價(jià)于x>=1
  • /x?/ ?號(hào)表示,x能出現(xiàn)0次或者1次饥漫,等價(jià)于x>=0且x<=1
  • /x{}/ {}可以自定義x出現(xiàn)的次數(shù)榨呆。如果只寫{1}表示x只能出現(xiàn)1次;如果寫{1庸队,}表示x可以出現(xiàn)1次或多次积蜻;如果寫{1,5}表示x可以出現(xiàn)1-5次,這種完整寫就是限定一個(gè)出現(xiàn)次數(shù)的范圍
  • 注意如果想要量詞來修飾一串字符彻消,必須將字符串用()包裹起來浅侨。否則它只會(huì)修飾它緊跟的那個(gè)字符

正則中三個(gè)括號(hào)的區(qū)別

  • {} 大括號(hào)定義字符出現(xiàn)的次數(shù)
  • [] 中括號(hào)定義字符的位置,它內(nèi)部的字符串只占一個(gè)位置(就是一個(gè)字符)证膨,只要滿足任意一個(gè)就行
  • () 小括號(hào)用來分組,內(nèi)部的字符串會(huì)劃為一個(gè)整體組

簡(jiǎn)單正則案例

  • 注意表單驗(yàn)證需要嚴(yán)格匹配鼓黔,所以建議都加上^$邊界符
  • 驗(yàn)證座機(jī)央勒,座機(jī)一般以0開頭不见,用-來分割。前面一共3-4位數(shù)字崔步,后面7-8位數(shù)字
    /^0\d{2,3}-\d{7,8}$/
  • 驗(yàn)證姓名稳吮,中文在瀏覽器中需要用到unicode編碼,[\u4e00-\u9fa5]這個(gè)范圍基本就含括了所有的中文漢字井濒,并且一般姓名是2個(gè)字以上
    /^[\u4e00-\u9fa5]{2,}$/
  • 驗(yàn)證qq灶似,qq號(hào)一般是5-11位,且開頭是非0的數(shù)字
    /^[1-9]\d{4,10}$/
  • 驗(yàn)證手機(jī)瑞你,手機(jī)號(hào)一般是11為酪惭,且有號(hào)段的限制,常見的有13[0-9] 14[57] 15[0-9] 17[1456789] 18[0-9]
    /^(13[0-9]|14[57]|15[0-9]|17[1456789]|18[0-9])\d{8}$/
  • 驗(yàn)證郵箱者甲,規(guī)律比較多春感,這里就不說明了,.號(hào)在[]里不用加轉(zhuǎn)義符
    /^\w+([-+._]\w+)*@\w+([-.]\w+)*\.\w+([.-]\w+)*$/

關(guān)于遞歸的正確思考方式

  • 遞歸的執(zhí)行過程是不符合我們正常思維的虏缸,所以你想一步一步的回溯遞歸是吃力不討好的方式鲫懒。
  • 其實(shí)我們對(duì)于遞歸應(yīng)該換一種思考方式,就是很多時(shí)候我們只需要確定推出來的規(guī)律是否正確刽辙,如果規(guī)律是正確的窥岩,其實(shí)沒有必要回溯遞歸執(zhí)行的步驟。如果遞歸執(zhí)行的結(jié)果不對(duì)宰缤,那么很大原因是規(guī)律錯(cuò)了颂翼,而不是程序執(zhí)行錯(cuò)了

DOM綜合考試總結(jié)

  • 通過用戶代理字符串識(shí)別瀏覽器的方法叫做代理測(cè)試
  • 單選按鈕支持onclick事件
  • 只有innerHTML才能替換元素內(nèi)部所有內(nèi)容,包括文本和html標(biāo)簽
  • window.onload是在文檔所有元素加載完畢且所有外部文件都加載完畢才執(zhí)行
  • 如果一個(gè)函數(shù)沒有寫返回值撵溃,那么調(diào)用該函數(shù)它的返回值為undefined
  • 當(dāng)一個(gè)基本數(shù)據(jù)類型調(diào)用屬性或者方法時(shí)疚鲤,js內(nèi)部會(huì)自動(dòng)創(chuàng)建一個(gè)對(duì)應(yīng)基本類型的包裝對(duì)象
  • 動(dòng)態(tài)創(chuàng)建對(duì)象的五種方法:document.write();innerHTML;document.createElement();cloneNode();appendChild()
  • for循環(huán)中設(shè)置定時(shí)器不會(huì)立即執(zhí)行,要全部循環(huán)完畢才會(huì)依次執(zhí)行定時(shí)器
  • 函數(shù)的聲明提升優(yōu)先級(jí)高于變量提升
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末缘挑,一起剝皮案震驚了整個(gè)濱河市集歇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌语淘,老刑警劉巖诲宇,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異惶翻,居然都是意外死亡姑蓝,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門吕粗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纺荧,“玉大人,你說我怎么就攤上這事≈嫦荆” “怎么了输枯?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)占贫。 經(jīng)常有香客問我桃熄,道長(zhǎng),這世上最難降的妖魔是什么型奥? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任瞳收,我火速辦了婚禮,結(jié)果婚禮上厢汹,老公的妹妹穿的比我還像新娘螟深。我一直安慰自己,他們只是感情好坑匠,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布血崭。 她就那樣靜靜地躺著,像睡著了一般厘灼。 火紅的嫁衣襯著肌膚如雪夹纫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天设凹,我揣著相機(jī)與錄音舰讹,去河邊找鬼。 笑死闪朱,一個(gè)胖子當(dāng)著我的面吹牛月匣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播奋姿,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼锄开,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了称诗?” 一聲冷哼從身側(cè)響起萍悴,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎寓免,沒想到半個(gè)月后癣诱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡袜香,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年撕予,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜈首。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡实抡,死狀恐怖欠母,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情澜术,我是刑警寧澤艺蝴,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站鸟废,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏姑荷。R本人自食惡果不足惜盒延,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鼠冕。 院中可真熱鬧添寺,春花似錦、人聲如沸懈费。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)憎乙。三九已至票罐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間泞边,已是汗流浹背该押。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留阵谚,地道東北人蚕礼。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像梢什,于是被迫代替她去往敵國(guó)和親奠蹬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容