window對象
內(nèi)置的JS全局對象(頂級對象)
console.log() alert()
DOM 知識點 document
BOM location navigator
window 可以省略不寫
延時器
延時一段時間再來執(zhí)行
語法 let timerId = setTimeout(函數(shù)茫打,延時時間)
關(guān)閉 clearTimeout(timerId)
和定時器區(qū)別
定時器 每間隔一段時間就來執(zhí)行, 執(zhí)行n次(除非關(guān)閉)
延時器 延時一段時間來執(zhí)行,執(zhí)行1次
JS執(zhí)行機(jī)制
JS是門單線程的編程語言 同一時間只能做一件事情
JS 分成同步 + 異步
1.同步
console.log()
for循環(huán)
2.異步
注冊事件 box.addEventListener('click', function(){})
延時器 定時器
后期 Ajax
1.JS遇到同步任務(wù)會按照書寫順序去依次執(zhí)行
2.遇到異步任務(wù)咆课,會交給瀏覽器棍厂,當(dāng)異步任務(wù)需要執(zhí)行的時候颗味,瀏覽器會把異步任務(wù)對應(yīng)的回調(diào)函數(shù)放到任務(wù)隊列中
3.一旦當(dāng)JS主線程執(zhí)行了所有同步任務(wù),去任務(wù)隊列中來查看是否有需要執(zhí)行的異步任務(wù)牺弹,取出對應(yīng)回調(diào)函數(shù)來執(zhí)行 (事件循環(huán) Event Loop)
location對象
1.地址欄有關(guān)
2.href屬性:
獲取到完整的url地址
設(shè)置浦马,起到頁面跳轉(zhuǎn)作用
3.search屬性
獲取到查詢字符串 ?后面內(nèi)容
4.hash 屬性
哈希值 獲取#后面
5.reload 方法
刷新頁面
其他BOM對象
navigator對象
userAgent 用戶的瀏覽器信息
history對象:
back() 后退一個歷史記錄
forward() 前進(jìn)一個歷史記錄
swiper插件 官網(wǎng): https://www.swiper.com.cn/
本地存儲
localStorage
永久存儲,除非手動刪除
存:localStorage.setItem('鍵', '值')
日牌:localStorage.getItem('鍵')
刪:localStorage.removeItem('鍵')
存復(fù)雜數(shù)據(jù)類型
存
把復(fù)雜數(shù)據(jù)轉(zhuǎn)換成JSON字符串 JSON.stringify ()
localStorage.setItem('data', JSON.stringify(復(fù)雜數(shù)據(jù)))
取
取出來的是JSON字符串晶默,解析得到復(fù)雜數(shù)據(jù) JSON.parse()
JSON.parse(localStorage.getItem('data'))
sessionStorage 了解
生命周期(關(guān)閉頁面或關(guān)閉瀏覽器,存儲的數(shù)據(jù)就沒有了)
使用方式同localStorage
自定義屬性
固有屬性: 標(biāo)簽自帶的屬性(src href id ...)
自定義屬性:自己定義的屬性(作用:可以在標(biāo)簽上存數(shù)據(jù))
操作自定義屬性航攒,需要有額外方法來操作磺陡,了解即可
getAttribute() 獲取
setAttribute() 設(shè)置
removeAttribute() 移出
推薦的規(guī)范做法
在標(biāo)簽,通過data- 開頭來表示自定義 data-index data-num
在JS中,通過dataset屬性來操作:
1.元素.dataset // 得到一個對象 {index: 值币他, num: 值}
2.元素.dataset.index 就可以獲取自定義屬性 data-index的值