1. 程式人生 > >JS前端面試題-總結01

JS前端面試題-總結01

大家都知道在面試的時候,很多前端的必須要問的就是js的問題,最近我們公司也有很多這樣的面試,我提了一些個問題,還有我面試的時候面試官面試我的問題彙總,也有百度的別人的,希望對那些剛進入這個行業的有一些幫助!!!
1.javascript的typeof返回哪些資料型別
object number function boolean underfind string 

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
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更靠譜
11.b繼承a的方法

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.事件委託是什麼
讓利用事件冒泡的原理,讓自己的所觸發的事件,讓他的父元素代替執行!
http://www.webasily.com/?p=78 例子可見此連結

14.閉包是什麼,有什麼特性,對頁面有什麼影響
閉包就是能夠讀取其他函式內部變數的函式。
http://blog.csdn.net/gaoshanwudi/article/details/7355794 此連結可檢視(問這個問題的不是一個公司)

15.如何阻止事件冒泡和預設事件
canceBubble return false

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

17.解釋jsonp的原理,以及為什麼不是真正的ajax
動態建立script標籤,回撥函式
Ajax是頁面無重新整理請求資料操作

18.javascript的本地物件,內建物件和宿主物件
本地物件為array obj regexp等可以new例項化
內建物件為gload Math 等不可以例項化的
宿主為瀏覽器自帶的document,window 等

19.document load 和document ready的區別
Document.onload 是在結構和樣式載入完才執行js
Document.ready原生種沒有這個方法,jquery中有 $().ready(function)

20.”==”和“===”的不同
前者會自動轉換型別
後者不會

21.javascript的同源策略
一段指令碼只能讀取來自於同一來源的視窗和文件的屬性,這裡的同一來源指的是主機名、協議和埠號的組合

22.編寫一個數組去重的方法
function oSort(arr)
{
var result ={};
var newArr=[];
for(var i=0;i<arr.length;i++)
{
if(!result[arr])
{
newArr.push(arr)
result[arr]=1
}
}
return newArr
}