a站下載熱搜詞排行榜關(guān)鍵詞
以后聲明變量我們有限使用哪一個(gè)?
const
有了變量先給const,如果發(fā)現(xiàn)它后面是要被修改的,再改為let
為什么const聲明的對(duì)象可以修改里面的屬性?
因?yàn)閷?duì)象是引用類型,里面存儲(chǔ)的是地址,只要地址不變,就不會(huì)報(bào)錯(cuò)
建議數(shù)組和對(duì)象使用const來聲明
什么時(shí)候使用let聲明變量?
如果基本數(shù)據(jù)類型的值或者引用類型的地址發(fā)生變化的時(shí)候,需要用let
比如,一個(gè)變量進(jìn)行加減運(yùn)算,比如for循環(huán)中的i++
Web API階段我們學(xué)習(xí)哪兩部分?
DOM和BOM
DOM是什么?有什么作用?
DOM是文檔對(duì)象模型
操作網(wǎng)頁內(nèi)容,可以開發(fā)網(wǎng)頁內(nèi)容特效和實(shí)現(xiàn)用戶交互
DOM樹是什么?
將HTML文檔以樹狀結(jié)構(gòu)直觀的表現(xiàn)出來,我們稱之為文檔樹或者DOM樹
作用:文檔樹直觀的體現(xiàn)了標(biāo)簽與標(biāo)簽之間的關(guān)系
DOM樹怎么創(chuàng)建的?
瀏覽器根據(jù)html標(biāo)簽生成的JS對(duì)象(DOM對(duì)象)
DOM的核心就是把內(nèi)容當(dāng)對(duì)象來處理
document是什么?
是DOM里面提供的一個(gè)對(duì)象
網(wǎng)頁所有內(nèi)容都在document里面
獲取一個(gè)DOM元素我們使用誰?能直接操作修改嗎?
querySelector()
可以直接操作修改
獲取多個(gè)DOM元素我們使用誰?能直接修改嗎?如果不能可以怎么做到修改?
querySelectorAll()
不可以,只能通過遍歷的方式依次給里面的元素做修改
獲取頁面中的標(biāo)簽我們最終常用哪兩種方式?
querySelectorAll()
querySelector()
它們兩者的區(qū)別是什么?
querySelector()只能選擇一個(gè)元素,可以直接操作
querySelectorAll()可以選擇多個(gè)元素,得到的是為數(shù)組,要遍歷得到每一個(gè)元素
它們兩者小括號(hào)里面的參數(shù)有神馬注意事項(xiàng)?
里面寫css選擇器
必須是字符串,也就是必須加引號(hào)
設(shè)置/修改DOM元素內(nèi)容有哪2種方式?
元素.innerText屬性
元素.innerHTML屬性
三者的區(qū)別是什么?
元素.innerText屬性,只識(shí)別文本,不能解析標(biāo)簽
元素.innerHTML屬性 能夠識(shí)別文本,能夠解析標(biāo)簽
如果還在糾結(jié)到底用誰,可以選擇innerHTML
設(shè)置/修改元素樣式屬性通過什么屬性引出來?
style
如果需要修改一個(gè)div盒子的樣式,比如padding-left,如何寫?
element.style.paddingLeft=‘300px’
小駝峰命名法
不要忘記加單位
使用className有什么好處?
可以同時(shí)修改多個(gè)樣式
使用className有什么注意事項(xiàng)?
直接使用className賦值會(huì)覆蓋以前的類名
使用className和classList的區(qū)別?
前者修改大量樣式的更方便
后者修改不多樣式的時(shí)候方便
classList是追加和刪除不影響以前類名
定時(shí)器函數(shù)有什么作用?
可以根據(jù)時(shí)間自動(dòng)重復(fù)執(zhí)行某些代碼
定時(shí)器函數(shù)如何開啟?
setInterval(函數(shù)名,時(shí)間)
定時(shí)器函數(shù)如何關(guān)閉?
let 變量名=setInterval(函數(shù),間隔時(shí)間)
clearInterval(變量名)
什么是事件監(jiān)聽?
就是讓程序檢測(cè)是否有事件產(chǎn)生,一旦有事件觸發(fā),就立即調(diào)用一個(gè)函數(shù)做出響應(yīng),也稱為注冊(cè)事件
事件監(jiān)聽三要素是什么?
事件源(誰被觸發(fā)了)
事件類型(用什么方式觸發(fā),點(diǎn)擊還是鼠標(biāo)經(jīng)過)
事件處理程序(要做什么事情)
事件對(duì)象是什么?
也是個(gè)對(duì)象,這個(gè)對(duì)象里有事件觸發(fā)時(shí)的相關(guān)信息
事件對(duì)象在哪里?
在事件綁定的回調(diào)函數(shù)的第一個(gè)參數(shù)就是事件對(duì)象
環(huán)境對(duì)象this是什么?
它代表著當(dāng)前函數(shù)運(yùn)行時(shí)所處的環(huán)境
判斷this指向的粗略規(guī)則是什么?
誰調(diào)用,this就是誰
回調(diào)函數(shù)
把函數(shù)當(dāng)作另外一個(gè)函數(shù)的參數(shù)傳遞,這個(gè)函數(shù)就是回調(diào)函數(shù)
回調(diào)函數(shù)本質(zhì)還是函數(shù),只不過把它當(dāng)成參數(shù)使用
使用匿名函數(shù)作為回調(diào)函數(shù)比較常見
阻止冒泡如何做?
事件對(duì)象.stopPropagation()
阻止元素默認(rèn)行為怎么做?
e.preventDefault()
事件委托的好處是什么?
減少注冊(cè)次數(shù),提高了程序性能
事件委托是委托給了誰?父元素還是子元素?
父元素
如何找到真正觸發(fā)的元素?
事件對(duì)象.target.tagName
頁面加載事件有哪兩個(gè)?如何添加?
load事件,監(jiān)聽整個(gè)頁面資源給window添加
DOMContentLoaded,給document添加,無需等待樣式表、圖像等完全加載
被卷去的頭部或者左側(cè)用哪個(gè)屬性?是否可以讀取和修改?
scrollTop/scrollLeft
可以讀取,也可以修改
檢測(cè)頁面滾動(dòng)的頭部距離(被卷去的頭部)用哪個(gè)屬性?
document.documentElement.scrollTop
offsetWidth和offsetHeight是得到元素什么的寬高?
內(nèi)容+padding+border
offsetTop和offsetLeft得到位置以誰為準(zhǔn)?
帶有定位的父級(jí)
如果都沒有則以 文檔左上角 為準(zhǔn)
總結(jié)
實(shí)例化日期對(duì)象怎么寫?
new Date()
日期對(duì)象方法里面月份和星期有什么注意的
月份是0~11 星期是0 ~6
獲取時(shí)間戳有那三種方式,重點(diǎn)記住哪個(gè)?
date.getTime()
Date.now()
+new Date()
重點(diǎn)記住+new Date()因?yàn)榭梢苑祷禺?dāng)前時(shí)間戳或者指定的時(shí)間戳
什么是DOM結(jié)點(diǎn)?
DOM樹里面每一個(gè)內(nèi)容都稱之為結(jié)點(diǎn)
DOM結(jié)點(diǎn)的分類
元素節(jié)點(diǎn) 比如div標(biāo)簽
屬性節(jié)點(diǎn) 比如class屬性
文本節(jié)點(diǎn) 比如標(biāo)簽里面的文字
我們重點(diǎn)記住哪個(gè)節(jié)點(diǎn)?
元素節(jié)點(diǎn)
可以更好地讓我們理清標(biāo)簽元素之間的關(guān)系
查找父節(jié)點(diǎn)用哪個(gè)屬性?
parentNode
查找所有子節(jié)點(diǎn)用哪個(gè)屬性?
children
查找兄弟節(jié)點(diǎn)用哪個(gè)屬性?
nextElementSibling
previousElementSibling
location.href屬性獲取完整的url地址,對(duì)其賦值時(shí)用于地址的跳轉(zhuǎn)
search屬性獲取地址中攜帶的參數(shù),符號(hào)?后面部分
hash屬性獲取地址中的哈希值,符號(hào)#后面部分
reload方法用來刷新當(dāng)前頁面,傳入?yún)?shù)true時(shí)表示強(qiáng)制刷新
localStorage作用是什么?
可以將數(shù)據(jù)永久存儲(chǔ)在本地(用戶的電腦),除非手動(dòng)刪除,否則關(guān)閉頁面也存在
localStorage存儲(chǔ),獲取,刪除的語法是什么?
存儲(chǔ):localStorage.setItem(key,value)
獲取:localStorage.getItem(key)
刪除:localstorage.removeItem(key)
正則表達(dá)式是什么?
是用于匹配字符串中字符組合的模式
正則表達(dá)式有什么作用?
表單驗(yàn)證(匹配)
過濾敏感詞(替換)
字符串中提取我們想要的部分(提取)
正則表達(dá)式使用分為幾步?
定義正則表達(dá)式
檢測(cè)查找是否匹配
正則表達(dá)式檢測(cè)查找 test方法和exec方法有什么區(qū)別?
test方法用于判斷是否有符合規(guī)則的字符串,返回的是布爾值,找到返回true,否則返回false
exec方法用于檢索(查找)符合規(guī)則的字符串,找到返回?cái)?shù)組,否則為null
什么是元字符以及他的好處是什么?
是一些具有特殊含義的字符,可以極大提高了靈活性和強(qiáng)大的匹配功能
比如英文26個(gè)字母,我們使用元字符a-z簡潔和靈活
總結(jié)
+表示重復(fù)至少1次
?表示重復(fù)0次或者1次
*表示重復(fù)0次或多次
{m,n}表示重復(fù)m到n次
字符類.(點(diǎn))表示什么意思?
匹配除了換行符之外的任何單個(gè)字符
字符類[]有若干代表什么意思?
匹配除了[]里面的任何單個(gè)字符