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