語義化html
什麼是語義化html?
語義化html就是根據頁面內容的結構,選擇合適的標籤(例如頭部用header標籤,導航用nav標籤,底部用footer標籤等)。
使用語義化html的好處在於便於開發者閱讀,方便後期的更新迭代,增強網頁的權重。
H5新增的特性
H5新增了哪些新特性?
新增了一些新標籤:canvas,video,header,nav,article等
form表單新增一些新型別:list,range,email,tel等
css3新增一些新屬性:@media,@keyframe,transform,box-shadow,display:flex等
閉包
什麼是閉包?使用閉包有什麼好處?
閉包首先是有兩個函式,一個函式巢狀另一個函式,格式如下:
function fn(){
var a = 0;
return function(){
a++;
alert(a);
}
}
var b = fn();
b();
函式呼叫一次形成一個閉包。
好處:變數私有化,避免變數命名衝突,可以快取,具有封裝性
null跟undefined
null跟undefined有什麼區別?
null跟undefined都是js的基本資料型別,null是表示沒有物件,是一個空指標,undefined是宣告瞭一個變數但沒有賦值。
ajax的請求方式
ajax的請求方式有哪些?它們有什麼區別?
ajax請求方式有get請求,post請求
get:請求資料量小,請求資訊在位址列顯示,安全係數低
post:可以請求大量資料,請求資訊不在位址列顯示,安全係數高
json資料
json資料的格式是什麼樣的?如何解析json資料渲染到頁面上?
json格式:
簡單格式:
`{"name":"a"}`
陣列格式:
{
"json":[
{"name":"a"},
{"name":"b"},
{"name":"c"}
]
}
解析:
資料請求成功後儲存到一個變數data中,
var html = "";
for(var i = 0; i < data.length; i++){
html += "<div>" + data.json[i].name + "</div>"
}
$(`#element`).html(html);
跨域問題
如何解決跨域問題?jsonp用哪種請求方式?
iframe跨域
動態建立script標籤,src結尾需要加上?callback=jsonpCallback
ajax請求,dataType為jsonp,jsonp的請求方式用get請求
原型跟原型鏈
先留著,待講解(因為我不懂,裡邊的關係太亂了)
this物件
如何理解this物件的指向?
誰呼叫這個方法,this就指向誰,沒有呼叫就指向window,自執行的方法也指向window
圖片懶載入
圖片懶載入的原理?
像做一些電商的專案就會有大量的圖片展示,這時就會用到圖片懶載入,它的原理就是按需載入,先把圖片的真實地址儲存到一個自定義屬性中,為了使用者體驗可以先給img標籤的src一個預設的本地圖片地址,然後根據scrollTop的變化觸發事件把存放圖片真實地址的值賦給src