1. 程式人生 > >web前端js面試題及參考答案

web前端js面試題及參考答案

1.WEB標準以及W3C標準是什麼?

  標籤閉合、標籤小寫、不亂巢狀、使用外鏈css和js、結構行為表現的分離。

  1.1div中img怎麼水平和垂直居中?

  Div{width:200px; height:200px;text-align:center; font-size:0; overflow: hidden;line-height:200px; _line-height:178px;/*相容IE6*/ }

  Img{ vertical-align:middle;}

  1.2 HTML中沒有單位的屬性是?

  z-index:1; zoom:1; font-weight:200;

  1.3 form表單中input標籤的readonly 和disabled屬性有何區別?

  readonly=“readonly”是隻讀,不可以修改, disabled=“disabled”是禁用,整個文字框是顯示灰色狀態

  form 中method是資料傳遞的方式,action是與後臺資料庫提交的

  2.xhtml和html有什麼區別

  XHTML 元素必須被正確地巢狀,閉合,區分大小寫,文件必須擁有根元素。

  3.行內元素有哪些?塊級元素有哪些?

  行內元素: a b img em br i span input select

  塊級元素:div p h1-h6 form ul dl ol table

  4.行內元素和塊級元素有什麼區別?

  行內元素不可以設定寬高,不獨佔一行;

  塊級元素可以設定寬高,獨佔一行。

  5.我想讓行內元素跟上面的元素距離10px,加margin-top和padding-top可以嗎? margin-top,padding-top無效

  6.CSS的盒模型由什麼組成?

  內容(width,height),border ,margin,padding

  6.1 簡述div+css佈局的優勢?

  (1)符合w3c標準;(2)相容性好;(3)有利於搜尋引擎很友好;(4)樣式的調整更加方便;(5)css簡潔的程式碼,能使樣式和結構分離;

  7.說說display屬性有哪些?可以做什麼?

  display:block行內元素轉換為塊級元素

  display:inline塊級元素轉換為行內元素

  display:inline-block轉為內聯元素

  display:box(css3新增的彈性佈局屬性)

  8.CSS 選擇符有哪些?

  1.id選擇器( # myid)

  2.類選擇器(.myclassname)

  3.標籤選擇器(div, h1, p)

  4.相鄰選擇器(h1 + p)

  5.子選擇器(ul < li)

  6.後代選擇器(li a)

  7.萬用字元選擇器( * )

  8.屬性選擇器(a[rel = "external"])

  9.偽類選擇器(a: hover, li: nth - child)

  9.哪些css屬性可以繼承?

  可繼承: font-size font-family color, ul li dl dd dt;(字型屬性和列表屬性)

  不可繼承 :border padding margin width height ;

  10.css優先順序演算法如何計算?

  !important > id > class > 標籤

  !important 比 內聯優先順序高

  * 優先順序就近原則,樣式定義最近者為準;

  * 以最後載入的樣式為準;

  11.text-align:center和line-height有什麼區別?

  text-align是水平對齊,line-height是行間。

  12.前端頁面由哪三層構成,分別是什麼?作用是什麼?

  結構層 Html(頁面結構內容,骨架) 表示層 CSS(網頁的樣式和外觀) 行為層 js(實現網頁的互動,動畫效果)

  13.標籤上title與alt屬性的區別是什麼?

  Alt是圖片屬性,讓搜尋引擎認識你的圖片。當圖片不顯示的時候顯示。

  title是網站標題,是seo中最重要的屬性。

  14.使用css 精靈有什麼優缺點?

  優: Css 精靈 把一堆小的圖片整合到一張大的圖片上,減輕HTTP的請求數量(HTTP連線數對網站的載入效能有重要影響)。能夠提升網站效能

  缺:可維護性方面,如要改變區域性一張小圖,就要很繁瑣,而且算圖片的位置也很麻煩;

  15.什麼是語義化的HTML?

  標籤使用的合理性,對於搜尋引擎的抓取有好處。

  16.b標籤和strong標籤,i標籤和em標籤的區別?

  後者有語義,前者則無。

  17.tite與h1的區別。

  title側重於網站資訊標題

  從文章而言,h1側重於文章主題

  站在seo的角度看,好網站少不了title,好文章少不了h1標題,title權重高於h1。

  18.清除浮動的幾種方式,各自的優缺點

  1.使用空標籤清除浮動clear:both(缺點,增加無意義的標籤)

  2.使用overflow:auto(使用zoom:1用於相容IE)或:overflow:hidden;

  3.是用afert偽元素清除浮動(用於非IE瀏覽器)

  .Clearfix:after{ content:””; display:block; height:0; overflow:hidden; clear:both;} .clearfix{ zoom:1;}

  18.1 HTML doctype 有哪些常用的型別?

  HTML4.01 XHTML1.0 HTML5 18.2 什麼是css hack?(怎麼讓css很好的相容各主流瀏覽器)

  ,CSS hack的目的就是使你的CSS程式碼相容不同的瀏覽器。當然,我們也可以反過來利用CSS hack為不同版本的瀏覽器定製編寫不同的CSS效果。

  有三種表達方式:(1).css內部hack:主要針對類內部的hack,比如IE6能識別“_”“*”,IE7能識別“*”等(也叫類內屬性字首法);(2).選擇器hack:例如IE6能*html .class{}; IE7能識別 *+html .class{}(也叫選擇器字首法); (3)html頭部引用(if IE)hack:針對所有IE:,針對IE6及以下版本:,這類Hack不僅對CSS生效,對寫在判斷語句裡面的所有程式碼都會生效(也叫條件註釋法)。

  18.3請簡述css載入方式link和@import的區別?

  1. link屬於XHTML標籤,而@import完全是CSS提供的一種方式。

  2.載入順序的差別:前者在頁面載入的時候就同時載入進來,而後者是在頁面完全載入完再載入

  3.相容性的差別:前者可以相容全部,後者只有在IE5以上才能被識別;

  4. 使用JavaScript DOM控制樣式的差別:只能控制link標籤,不能控制@import

  19.display:none和visibility:hidden的區別是什麼?

  visibility: hidden----將元素隱藏,但是還佔著位置。

  display: none----將元素的顯示設為無,不佔任何的位置。

  19.1五大瀏覽器的核心

  火狐:-moz- IE:-ms- 歐朋:-o- 谷歌和蘋果:-webkit-

  20.說出幾種IE6 BUG的解決方法

  1.雙邊距BUG float引起的 解決:使用display:inline

  2.3畫素問題 使用float引起的 解決:使用dislpay:inline -3px

  3.超連結hover 點選後失效 解決:使用正確的書寫順序 link visited hover active

  4.Ie z-index問題 解決:給父級新增position:relative

  5.Png 透明 解決:使用js程式碼

  6.Min-height 最小高度 !Important 解決

  7.img出現邊框 border:none;

  8.為什麼沒有辦法定義1px左右的寬度容器(IE6預設的行高造成的overflow:hidden,zoom:0.08 line-height:1px可以解決)

  21.域名和伺服器相關知識?

  22.HTTP狀態碼都有那些。

  200 OK //客戶端請求成功

  400 Bad Request //客戶端請求有語法錯誤,不能被伺服器所理解

  403 Forbidden //伺服器收到請求,但是拒絕提供服務

  404 Not Found //請求資源不存在,輸入了錯誤的URL

  500 Internal Server Error //伺服器發生不可預期的錯誤

  503 Server Unavailable //伺服器當前不能處理客戶端的請求,一段時間後可能恢復正常

  23.如何優化網頁載入速度?

  1.減少css,js檔案數量及大小(減少重複性程式碼,程式碼重複利用),壓縮CSS和Js程式碼

  2.圖片的大小

  3.把css樣式表放置頂部,把js放置頁面底部

  4.減少http請求數

  5.使用外部 Js 和 CSS

  24.position屬性absolute與relative的區別?

  absolute絕對定位 //相對於瀏覽器定位

  relative相對定位 //相對於前面的容器定位

  25.HTML5 的有那些新標籤?

  頭部導航連結側邊欄列表內容腳部圖片塊容器 25.1 HTML5有哪些新特性?

  用於繪畫的 canvas 元素

  •用於媒介回放的 video 和 audio 元素

  •對本地離線儲存的更好的支援

  •新的特殊內容元素,比如 article、footer、header、nav、section

  •新的表單控制元件,比如 calendar、date、time、email、url、search

  25.2 HTML5有哪些新的API?

  1. 選擇器:querySelector,querySelectorAll

  document. querySelectorAll(“.head”);

  2. Canvas API:有關動態產出與渲染圖形、圖表、影象和動畫的API。

  3. 音訊與視訊 API。

  4. 離線儲存API

  5. 通訊API

  6. 檔案操作

  7. 地理位置API

  8. 拖放API