03-撩課大前端—面試寶典—第三篇
1. javascript的typeof返回哪些資料型別?
答案:
undefined
string
boolean
number
symbol(ES6)
Object
Function
2. 列舉3種強制型別轉換和2種隱式型別轉換?
答案:強制(parseInt,parseFloat,number)
隱式(== === ! )
3. split() join() 的區別?
答案:前者是將字串切割成陣列的形式,後者是將陣列轉換成字串
4. 陣列方法pop() push() unshift() shift()?
答案:push()尾部新增 pop()尾部刪除
unshift()頭部新增 shift()頭部刪除
5. IE和標準下有哪些相容性的寫法?
答案:
var ev = ev || window.event
document.documentElement.clientWidth || document.body.clientWidth
Var target = ev.srcElement||ev.target
6. ajax請求的時候get 和post方式的區別?
答案:
一個在url後面 ,一個放在虛擬載體裡面
get有大小限制(只能提交少量引數)
安全問題
應用不同 ,請求資料和提交資料
7. 事件委託是什麼?
答案: 利用事件冒泡的原理,讓自己的所觸發的事件,讓他的父元素代替執行!
8.閉包是什麼,有什麼特性,對頁面有什麼影響?
閉包的特性:
①.封閉性:外界無法訪問閉包內部的資料,如果在閉包內宣告變數,外界是無法訪問的,除非閉包主動向外界提供訪問介面;
②.永續性:一般的函式,呼叫完畢之後,系統自動登出函式,而對於閉包來說,在外部函式被呼叫之後,閉包結構依然儲存在
系統中,閉包中的資料依然存在,從而實現對資料的持久使用。
優點:
① 減少全域性變數。
② 減少傳遞函式的引數量
③ 封裝;
缺點:
使用閉包會佔有記憶體資源,過多的使用閉包會導致記憶體溢位等.
9.如何阻止事件冒泡?
答案:ie:阻止冒泡ev.cancelBubble = true;非IE ev.stopPropagation();
10.如何阻止預設事件?
答案:(1)return false;(2) ev.preventDefault();