###前端開發面試知識點大綱:javascript
##HTML&CSS:css
對Web標準的理解、瀏覽器內核差別、兼容性、hack、CSS基本功:佈局、盒子模型、選擇器優先級及使用、HTML五、CSS三、移動端適應 html
JavaScript:前端
數據類型、面向對象、繼承、閉包、插件、做用域、跨域、原型鏈、模塊化、自定義事件、內存泄漏、事件機制、異步裝載回調、模板引擎、Nodejs、JSON、ajax等。vue
其餘:html5
HTMLjava
Doctype 做用? 嚴格模式與混雜模式如何區分?它們有何意義?node
(1)、<!DOCTYPE> 聲明位於文檔中的最前面,處於 標籤以前。告知瀏覽器的解析器,用什麼文檔類型 規範來解析這個文檔。 //在此我向你們推薦一個前端全棧開發交流圈:619586920 突破技術瓶頸,提高思惟能力 (2)、嚴格模式的排版和 JS 運做模式是 以該瀏覽器支持的最高標準運行。 (3)、在混雜模式中,頁面以寬鬆的向後兼容的方式顯示。模擬老式瀏覽器的行爲以防止站點沒法工做。 (4)、DOCTYPE不存在或格式不正確會致使文檔以混雜模式呈現。jquery
行內元素有哪些?塊級元素有哪些? 空(void)元素有那些?webpack
(1)CSS規範規定,每一個元素都有display屬性,肯定該元素的類型,每一個元素都有默認的display值, 好比div默認display屬性值爲「block」,成爲「塊級」元素;塊級元素獨佔一行。 span默認display屬性值爲「inline」,是「行內」元素。 行內元素處於同一行。 (2)行內元素有:a b span img input select strong(強調的語氣) 塊級元素有:div ul ol li dl dt dd h1 h2 h3 h4 h5 h6 p 等 //在此我向你們推薦一個前端全棧開發交流圈:619586920 突破技術瓶頸,提高思惟能力 (3)知名的空元素:
<br> <hr> <img> <input> <link> <meta> 複製代碼
不爲人知的是:
<area> <base> <col> <command> <embed> <keygen> <param> <source> <track> <wbr> 複製代碼
link 和@import 的區別是?
(1)link屬於XHTML標籤,而@import是CSS提供的; (2)頁面被加載的時,link會同時被加載,而@import引用的CSS會等到頁面被加載完再加載; (3)import只在IE5以上才能識別,而link是XHTML標籤,無兼容問題; (4)link方式的樣式的權重 高於@import的權重. 複製代碼
瀏覽器的內核分別是什麼?
IE瀏覽器的內核Trident、Mozilla的Gecko、Chrome的Blink(WebKit的分支)、Opera內核原爲Presto,現爲Blink;
常見兼容性問題?
##css
1 .bb{ 2 background-color:#f1ee18; /*全部識別*/ 3 .background-color:#00deff\9; /*IE六、七、8識別*/ 5 +background-color:#a200ff; /*IE六、7識別*/ 6 _background-color:#1e0bd1; /*IE6識別*/ 7 } 複製代碼
1.IE下,可使用獲取常規屬性的方法來獲取自定義屬性, 也可使用getAttribute()獲取自定義屬性; Firefox下,只能使用getAttribute()獲取自定義屬性. 解決方法:統一經過getAttribute()獲取自定義屬性.
2.IE下,event對象有x,y屬性,可是沒有pageX,pageY屬性; Firefox下,event對象有pageX,pageY屬性,可是沒有x,y屬性. 解決方法:(條件註釋)缺點是在IE瀏覽器下可能會增長額外的HTTP請求數。
3.Chrome 中文界面下默認會將小於 12px 的文本強制按照 12px 顯示, 可經過加入 CSS 屬性 -webkit-text-size-adjust: none; 解決.
4.超連接訪問事後hover樣式就不出現了 被點擊訪問過的超連接樣式不在具備hover和active了, 解決方法是改變CSS屬性的排列順序: L-V-H-A : a:link { } ,a:visited { } ,a:hover { } ,a:active { } ; HTML5有哪些新特性、移除了那些元素?如何處理html5新標籤的瀏覽器兼容問題?如何區分 HTML 和 Html5?
1.HTML5 如今已經不是 SGML 的子集,主要是關於圖像,位置,存儲,多任務等功能的增長。
2.繪畫 canvas
用於媒介回放的 video 和 audio 元素 本地離線存儲 localStorage 長期存儲數據,瀏覽器關閉後數據不丟失; sessionStorage 的數據在瀏覽器關閉後自動刪除. 語意化更好的內容元素,好比 article、footer、header、nav、section 表單控件,calendar、date、time、email、url、search 新的技術webworker, websocket, Geolocation
3.移除的元素
純表現的元素:basefont,big,center,font, s,strike,tt,u; 對可用性產生負面影響的元素:frame,frameset,noframes;
支持HTML5新標籤:
IE8/IE7/IE6支持經過document.createElement方法產生的標籤, 能夠利用這一特性讓這些瀏覽器支持HTML5新標籤, 瀏覽器支持新標籤後,還須要添加標籤默認的樣式: 固然最好的方式是直接使用成熟的框架、使用最多的是html5shiv框架
如何區分: DOCTYPE聲明新增的結構元素\功能元素 語義化的理解? 1.用正確的標籤作正確的事情! 2.html語義化就是讓頁面的內容結構化,便於對瀏覽器、搜索引擎解析; 3.在沒有樣式CCS狀況下也以一種文檔格式顯示,而且是容易閱讀的。 4.搜索引擎的爬蟲依賴於標記來肯定上下文和各個關鍵字的權重,利於 SEO。 5.使閱讀源代碼的人對網站更容易將網站分塊,便於閱讀維護理解。 HTML5的離線儲存? localStorage 長期存儲數據,瀏覽器關閉後數據不丟失; sessionStorage 數據在瀏覽器關閉後自動刪除。 HTML5中新增長的不少標籤(如: