1. 程式人生 > >js前端面試題

js前端面試題

浮動模型
1.浮動的標籤只能被具有文字特性的標籤所看到(,即display:inline/inline-block)或者觸發bfc的標籤(position:absolute,overflow:hidden,float:left/right)

第二階段 JavaScript、jQuery、ECMAScript、JSON
1、jQuery this與this區別
this是javascript自身的語法關鍵字,它指向一個javascript物件。
$(this), 將javascript 物件包裝成為一個jquery物件,是一個JQuery物件。
2、input name值為a與p name值為a 這兩個如何用jQuery定位到input
$('input:[name=='a']')


3、請描述一下 cookies,sessionStorage 和 localStorage 的區別?
(1)有效期(2)cookie將資料自動傳給伺服器,伺服器也可以寫cookie到客戶端,storage不會自動將資料傳給服務端,儲存在本地(3)大小
4、對BFC規範的理解?

5、JavaScript原型,原型鏈 ? 有什麼特點?
6、說幾條寫JavaScript的基本規範?
7、null,undefined 的區別?
8、談談This物件的理解。
9、事件是?IE與火狐的事件機制有什麼區別? 如何阻止冒泡?
10、什麼是閉包(closure),為什麼要用它?
11、new操作符具體幹了什麼呢?
12、JavaScript中的作用域與變數宣告提升?
13、如何編寫高效能的Javascript?
14、那些操作會造成記憶體洩漏?
15、你遇到過比較難的技術問題是?你是如何解決的?
16、常使用的庫有哪些?常用的前端開發工具?開發過什麼應用或元件?
17、頁面重構怎麼操作?
18、什麼叫優雅降級和漸進增強?
19、WEB應用從伺服器主動推送Data到客戶端有那些方式?
20、程式設計實現javascript在String中寫一個trim,要求能夠去除一個字串開始和結尾的空格
21、json的瞭解及用法,與xml有何不同?
22、一個頁面從輸入url 到頁面載入顯示完成,這個過程中都發生什麼了
23、javascript如何建立一個物件,?{畫出次物件的記憶體圖}
24、juery中如何將陣列轉化為json字串,然後在轉化回來
25、說一說 最近流行的一些新的東西 》常去哪些網站?
26、給juery擴充套件一個新的空方法,方法名稱為newFunc
27、程式設計實現使用JavaScript實現一個深拷貝方法
28、請寫出超連結的順序或你在初級樣式中的連線方法
29、函式幾種定義方法
30、JavaScript的typeof 返回哪些資料型別
31、寫一個獲取非行間樣式的函式
32、時間委託是什麼 有什麼好處
33、jquery 中哪幾種類型選擇器?
34、閉包是什麼 有什麼特性 對頁面有什麼影響
35、如何阻止事件冒泡和預設事件
36、新增 刪除 替換 插入 到某個節點的方法
37、解釋json 的原理 以及為什麼不是真正的ajax
38、JavaScript的本地物件,內建物件和宿主物件
39、js編寫一個數組去重的方法
40、split()join()的 區別 陣列方法pop()push()unshift()shift()
41、事件繫結和普通繫結有什麼區別
42、ECMAScript和JavaScript的區別?
43、break和continue區別?
44、字串中substring、substr、slice區別?
45、清除字串前後空格,要相容所有瀏覽器?
46、push、pop、shift和unshift 區別?
47、陣列和字串之間的轉換方式?
48、陣列排序?
49、自執行函式兩種寫法?
50、取10-100之間的一個隨機數?取“a-zA-Z”中的4個隨機數?
51、輸出當前日期的前一天?(2016-5-17,則輸出2016-5-16)
52、js中選擇器的幾種方法?
53、建立節點方法?
54、DOM 0級和2級事件的寫法、清除方法及優缺點?
55、target和currentTarget區別?
56、陣列去重方法?
57、迴流和重繪的解釋、關係及區別?
58、怎樣能減少頁面的迴流和重繪?
59、兩種定時器的寫法及清除?
60、判斷是手機還是PC?
61、獲取陣列中的最大值?
62、寫一個改變this指向的閉包?
63、使用正則寫一個驗證郵箱的表示式?
64、sessionStorage、localStorage、cookie的區別?
65、新增、刪除、替換、插入到某個節點的方法?
66、寫一個繼承方法?
67、寫出this指向的幾種情況?
68、XTMHTTPRequest的readystate的五種狀態?
69、status返回的視窗狀態列文字型別?(或http的狀態碼?)
70、寫一個ajax使用get請求資料的全套程式碼?
71、URL引數擷取?
72、js中如何對特殊符號進行轉碼與編碼。
73、在什麼情況下你會用ajax請求來代替通常的跳轉。
74、談談你對跨域訪問的認識,寫出兩個實現跨域訪問頁面的的方法。
75、列出你所知道的設計模式並簡述。
76、javascr中有哪些資料型別;
77、擷取字串abcde中的cde;
78、什麼是閉包,請舉例說明;
79、一個dom節點被點選的時候,我們希望能夠執行一個函式,應該怎麼做;
80、請寫一個javascript函式parseQueryString,他的用途是吧url引數解析為一個物件,如:
var url = “

http://www.test.com/index.php?key0=0&key1=1&key2=2”
81、怎樣新增移除、移動、複製、建立和查詢節點?
82、在javascript中什麼是偽陣列,如何將偽陣列轉化為標準陣列;
83、手寫陣列快速排序;
84、統計字元號串“aaaabbbccccddfggh”中字母個數或統計最多字母數;
85、寫一個function,清楚字串前後的空格(相容所有瀏覽器)
86、實現一個函式clone,可以對javascript中5種主要的資料型別(包括number string object array boolean)進行值複製;
87、將陣列【“a”,“b”,“c”】轉化為字串;
88、獲取enent目標物件的方法(要求相容性);
89、介紹js基本資料型別;
91、javascript中“use strict”是什麼意思,為什麼要使用;
92、描述一下javascript 的作用域鏈;
95、判斷一個字串中各個字元出現的次數;例如字串:hello 處理後:h:1 e:1 l:2 0:1
96、編寫一個方法,判斷字串是否是這樣組成的,第一個必須為數字,最後一個必須為 字母
97、編寫一個方法,出去陣列中的重複的元素:例如數字【“ab”,“ab”,“ac”,“cd”】 處 理後、:【“ab”,“ac”,“cd”】
98、如何隱藏一個dom元素
99、javascript 中有哪些基礎資料型別
100、如何新增HTML事件,有幾種方法?(至少兩種方式)
101、javascript 面向物件中繼承實現方式
102、javascript 中如何讓對一個物件進行深拷貝?
103、為什麼非同步載入js檔案?載入方式?(至少兩種方式)
104、前端常規開發優化策略(至少兩種方式)
105、如何控制網頁在網路傳輸過程中的資料量
106、var stringArray = [ “this”,“is”,“chunchujie”],請在控制檯輸出“this is chunchujie”。
107、請寫一個函式去除陣列的重複項、;如[2008,34,78,2,45,34,78,90,90,12,34]處理後為[20 0 8.34,78,2,45,90,12]
108、用js或jQuery獲取id為chuchujie的div裡邊的所有a標籤,並把字型大小設定為18px;同 時把第三個a標籤設定為塊級元素,並把他的寬高分別設定為300px和500px;
109、請在網頁上輸出九九乘法表;
110、call 和apply的區別是什麼?
111、請解釋jsonp的工作原理
112、請簡要說明javascript 中this 是如何讓工作的的
113、請談談你都使用過哪些javascript模板
114、你怎麼看AMD vs.Commonjs?
115、使用Promises 而非回撥(callbacks)優缺點是什麼?
116、如何實現下列程式碼:
var number =[ 1,2,3,4,5];
number.square();//[1,4,9,16,25]
number.average();//3
number.sum();//15
number.even()