1.js中有哪些數(shù)據(jù)類型琉预,并解釋清楚原始數(shù)據(jù)類型和引用數(shù)據(jù)類型
js中共有?null , undefined , string , number , boolean , object 六種數(shù)據(jù)類型笙僚。
原始數(shù)據(jù)類型:null,undefined,string,number,boolean
引用數(shù)據(jù)類型:object
2. 解釋清楚 null 和 undefined
null表示一個(gè)標(biāo)識(shí)被賦值了软吐,且該標(biāo)識(shí)賦值為“空值”,從邏輯角度來(lái)看腺办,null值表示空對(duì)象指針批旺;
undefined表示聲明了標(biāo)識(shí)匙握,但沒(méi)有給標(biāo)識(shí)賦值艾疟。
3.閉包是什么閉包的作用和使用場(chǎng)景
閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)速那。
閉包的作用一:隱藏、封裝
閉包的作用二:記憶函數(shù)
4 講解原生Js實(shí)現(xiàn)ajax的原理岔绸。
Ajax 的全稱是Asynchronous JavaScript and XML理逊,其中,Asynchronous 是異步的意思盒揉,它有別于傳統(tǒng)web開(kāi)發(fā)中采用的同步的方式晋被。
Ajax的原理簡(jiǎn)單來(lái)說(shuō)通過(guò)XmlHttpRequest對(duì)象來(lái)向服務(wù)器發(fā)異步請(qǐng)求,從服務(wù)器獲得數(shù)據(jù)刚盈,然后用javascript來(lái)操作DOM而更新頁(yè)面羡洛。
XMLHttpRequest是ajax的核心機(jī)制,它是在IE5中首先引入的藕漱,是一種支持異步請(qǐng)求的技術(shù)欲侮。簡(jiǎn)單的說(shuō),也就是javascript可以及時(shí)向服務(wù)器提出請(qǐng)求和處理響應(yīng)肋联,而不阻塞用戶锈麸。達(dá)到無(wú)刷新的效果。
5牺蹄、簡(jiǎn)述同步和異步的區(qū)別
同步是阻塞模式,異步是非阻塞模式薄翅。
同步就是指一個(gè)進(jìn)程在執(zhí)行某個(gè)請(qǐng)求的時(shí)候沙兰,若該請(qǐng)求需要一段時(shí)間才能返回信息,那么這個(gè)進(jìn)程將會(huì)一直等待下去翘魄,直到收到返回信息才繼續(xù)執(zhí)行下去鼎天;
異步是指進(jìn)程不需要一直等下去,而是繼續(xù)執(zhí)行下面的操作暑竟,不管其他進(jìn)程的狀態(tài)斋射。當(dāng)有消息返回時(shí)系統(tǒng)會(huì)通知進(jìn)程進(jìn)行處理,這樣可以提高執(zhí)行的效率但荤。
6.如何消除一個(gè)數(shù)組里面重復(fù)的元素罗岖?
7數(shù)組方法 pop() push() unshift() shift() 四個(gè)用法
Push()尾部添加
pop()尾部刪除
Unshift()頭部添加
shift()頭部刪除
8.ajax請(qǐng)求的時(shí)候get 和post方式的區(qū)別?
一個(gè)在url后面 一個(gè)放在虛擬載體里面
get安全性非常低,post安全性較高腹躁。
get傳送的數(shù)據(jù)量較小桑包,不能大于2KB。post傳送的數(shù)據(jù)量較大纺非,一般被默認(rèn)為不受限制哑了。但理論上赘方,因服務(wù)器的不同而異.
9 .了解Node么?Node的使用場(chǎng)景都有哪些弱左?
高并發(fā)窄陡、聊天、實(shí)時(shí)消息推送
10.事件委托是什么
讓利用事件冒泡的原理拆火,讓自己的所觸發(fā)的事件跳夭,讓他的父元素代替執(zhí)行!
11 .說(shuō)下 ”==” 和 “===” 的不同
前者會(huì)自動(dòng)轉(zhuǎn)換類型
后者不會(huì)
12.javaScript的2種變量范圍有什么不同榜掌?
全局變量:當(dāng)前頁(yè)面內(nèi)有效
局部變量:方法內(nèi)有效
13. 原生JS的window.onload與Jquery的$(document).ready(function(){})有什么不同优妙?
window.onload()方法是必須等到頁(yè)面內(nèi)包括圖片的所有元素加載完畢后才能執(zhí)行。
$(document).ready()是DOM結(jié)構(gòu)繪制完畢后就執(zhí)行憎账,不必等到加載完畢套硼。