語義化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