web前端面試題
以下是收集一些面試中經常會遇到的經典面試題以及自己面試過程中無法解決的問題,通過對知識的整理以及經驗的總結,重新鞏固自身的前端基礎知識。
1.對WEB標準以及W3C的理解與認識
標籤閉合、標籤小寫、不亂巢狀、提高搜尋機器人搜尋機率、使用外 鏈css和js指令碼、結構行為表現的分離、檔案下載與頁面速度更快、內容能被更多的使用者所訪問、內容能被更廣泛的裝置所訪問、更少的程式碼和元件,容易維 護、改版方便,不需要變動頁面內容、提供列印版本而不需要複製內容、提高網站易用性;
l和html有什麼區別
HTML是一種基本的WEB網頁設計語言,XHTML是一個基於XML的置標語言
最主要的不同:
XHTML 元素必須被正確地巢狀。
XHTML 元素必須被關閉。
標籤名必須用小寫字母。
XHTML 文件必須擁有根元素。
ype? 嚴格模式與混雜模式-如何觸發這兩種模式,區分它們有何意義?
用於宣告文件使用那種規範(html/Xhtml)一般為 嚴格 過度 基於框架的html文件
加入XMl宣告可觸發,解析方式更改為IE5.5 擁有IE5.5的bug
4.行內元素有哪些?塊級元素有哪些?CSS的盒模型?
塊級元素:div p h1 h2 h3 h4 form ul
行內元素: a b br i span input select
Css盒模型:內容,border ,margin,padding
引入的方式有哪些? link和@import的區別是?
內聯 內嵌 外鏈 匯入
區別 :同時載入
前者無相容性,後者CSS2.1以下瀏覽器不支援
Link 支援使用javascript改變樣式,後者不可
選擇符有哪些?哪些屬性可以繼承?優先順序演算法如何計算?內聯和important哪個優先順序高?
標籤選擇符 類選擇符 id選擇符
繼承不如指定 Id>class>標籤選擇
後者優先順序高
7.前端頁面有哪三層構成,分別是什麼?作用是什麼?
結構層 Html 表示層 CSS 行為層 js
的基本語句構成是?
選擇器{屬性1:值1;屬性2:值2;……}
9.你做的頁面在哪些流覽器測試過?這些瀏覽器的核心分別是什麼?
Ie(Ie核心) 火狐(Gecko) 谷歌(webkit) opear(Presto)
10.寫出幾種IE6 BUG的解決方法
1.雙邊距BUG float引起的 使用display
2.3畫素問題 使用float引起的. 使用dislpay:inline -3px
3.超連結hover 點選後失效 使用正確的書寫順序 link visited hover active
z-index問題 給父級新增position:relative
5.Png 透明 使用js程式碼 改
-height 最小高度 !Important 解決’
ct 在ie6下遮蓋 使用iframe巢狀
8.為什麼沒有辦法定義1px左右的寬度容器(IE6預設的行高造成的,使用over:hidden,zoom:0.08 line-height:1px)
11.標籤上title與alt屬性的區別是什麼?
Alt 當圖片不顯示是 用文字代表。
Title 為該屬性提供資訊
12.描述css reset的作用和用途。
Reset重置瀏覽器的css預設屬性 瀏覽器的品種不同,樣式不同,然後重置,讓他們統一
13.解釋css sprites,如何使用。
Css 精靈 把一堆小的圖片整合到一張大的圖片上,減輕伺服器對圖片的請求數量
14.瀏覽器標準模式和怪異模式之間的區別是什麼?
盒子模型 渲染模式的不同
使用 atMode 可顯示為什麼模式
15.你如何對網站的檔案和資源進行優化?期待的解決方案包括:
檔案合併
檔案最小化/檔案壓縮
使用CDN託管
快取的使用
16.什麼是語義化的HTML?
直觀的認識標籤 對於搜尋引擎的抓取有好處
17.清除浮動的幾種方式,各自的優缺點
1.使用空標籤清除浮動 clear:both(理論上能清楚任何標籤,,,增加無意義的標籤)
2.使用overflow:auto(空標籤元素清除浮動而不得不增加無意程式碼的弊端,,使用zoom:1用於相容IE)
3.是用afert偽元素清除浮動(用於非IE瀏覽器)
Javascript
script的typeof返回哪些資料型別
Object number function boolean underfind
2.例舉3種強制型別轉換和2種隱式型別轉換?
強制(parseInt,parseFloat,number)
隱式(== – ===)
t() join() 的區別
前者是切割成陣列的形式,後者是將陣列轉換成字串
4.陣列方法pop() push() unshift() shift()
Push()尾部新增 pop()尾部刪除
Unshift()頭部新增 shift()頭部刪除
5.事件繫結和普通事件有什麼區別
和DOM事件流的區別
1.執行順序不一樣、
2.引數不一樣
3.事件加不加on
指向問題
和標準下有哪些相容性的寫法
Var ev = ev || t
ntWidth || ntWidth
Var target = lement||et
請求的時候get 和post方式的區別
一個在url後面 一個放在虛擬載體裡面
有大小限制
安全問題
應用不同 一個是論壇等只需要請求的,一個是類似修改密碼的
和apply的區別
(this,obj1,obj2,obj3)
y(this,arguments)