前端面試大全(五)


1.javascript的typeof返回哪些數據類型
string Object/null number function boolean underfind


2.例舉3種強制類型轉換和2種隱式類型轉換?
強制(parseInt,parseFloat,number)
隱式(==  ===  + * / %  ++ --)


3.split() join() 的區別
前者是切割成數組的形式,後者是將數組轉換成字符串


4.數組方法pop() push() unshift() shift()
Push()尾部添加 pop()尾部刪除
Unshift()頭部添加 shift()頭部刪除


5.事件綁定和普通事件有什麼區別
區別就是普通事件只支持單個事件,而事件綁定可以添加多個事件,就這麼簡單。


6.IE和DOM事件流的區別
1.執行順序不一樣、
2.參數不一樣
3.事件加不加on
4.this指向問題


7.IE和標準下有哪些兼容性的寫法
Var ev = ev || window.event//獲取event對象
document.documentElement.clientWidth || document.body.clientWidth//瀏覽器窗口的大小
Var target = ev.srcElement||ev.target//獲取事件源 


8.ajax請求的時候get 和post方式的區別
一個在url後面 一個放在虛擬載體裏面
有大小限制
安全問題
應用不同 一個是論壇等只需要請求的,一個是類似修改密碼的


9.call和apply的區別
Object.call(this,obj1,obj2,obj3)
Object.apply(this,arguments)


10.ajax請求時,如何解析json數據
使用eval parse 鑑於安全性考慮 使用parse更靠譜


12.寫一個獲取非行間樣式的函數
function getStyle(obj,attr,value){
if(!value){
if(obj.currentStyle){
return obj.currentStyle(attr)
}else{
obj.getComputedStyle(attr,false)
}
}else{
obj.style[attr]=value
}
}


13.事件委託是什麼
讓利用事件冒泡的原理,讓自己的所觸發的事件,讓他的父元素代替執行!
(1)冒泡型事件:事件按照從最特定的事件目標到最不特定的事件目標(document對象)的順序觸發。
  IE 5.5: div -> body -> document
  IE 6.0: div -> body -> html -> document
  Mozilla 1.0: div -> body -> html -> document -> window
(2)捕獲型事件(event capturing):
事件從最不精確的對象(document 對象)開始觸發,然後到最精確(也可以在窗口級別捕獲事件,
不過必須由開發人員特別指定)。
(3)DOM事件流:同時支持兩種事件模型:捕獲型事件和冒泡型事件,
但是,捕獲型事件先發生。兩種事件流會觸及DOM中的所有對象,
從document對象開始,也在document對象結束。


14.閉包是什麼,有什麼特性,對頁面有什麼影響
閉包就是能夠讀取其函數內部變量的函數。
        官方解釋是一個擁有許多變量和綁定了這些變量的環境的表達式
閉包的實質是一個函數,是一個用於返回局部變量值的函數,
因爲在全局中,受JavaScript鏈式作用域結構的影響,父級變量中無法訪問到子級的變量值,
爲了解決這個問題,才使用閉包這個概念。由於閉包時,變量的值都保存到內存中,
會導致頁面加載時內存消耗很大,IE會導致內在泄露,因此儘量少用或用時要及時刪除變量。


15.如何阻止事件冒泡和默認事件
function stopBubble(e) {
    // 如果提供了事件對象,則這是一個非IE瀏覽器
    if ( e && e.stopPropagation ) {
        // 因此它支持W3C的stopPropagation()方法 
        e.stopPropagation();
    } else { 
        // 否則,我們需要使用IE的方式來取消事件冒泡
        window.event.cancelBubble = true;
    }


}


16.添加 刪除 替換 插入到某個接點的方法
obj.appendChidl()
obj.innersetBefore
obj.replaceChild
obj.removeChild



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章