1.html5有哪些新特性匀泊、移除了那些元素优训?
HTML5 現(xiàn)在已經不是 SGML 的?集,主要是關于圖像各聘,位置揣非,存儲,多任務等功能的增加
繪畫 canvas
?于媒介回放的 video 和 audio 元素
本地離線存儲 localStorage ?期存儲數(shù)據(jù)躲因,瀏覽器關閉后數(shù)據(jù)不丟失
sessionStorage 的數(shù)據(jù)在瀏覽器關閉后?動刪除
語意化更好的內容元素早敬,?如article 、footer 大脉、header 搞监、nav 、section
表單控件镰矿, calendar 琐驴、date 、time 秤标、email 绝淡、url 、search
新的技術webworker 抛杨、 websocket 够委、 Geolocation
移除的元素:
純表現(xiàn)的元素: basefont 、big 怖现、center 茁帽、font 、 s 屈嗤、strike 潘拨、tt 、u
對可?性產?負?影響的元素: frame 饶号、frameset 铁追、noframes
?持HTML5 新標簽:
IE8/IE7/IE6 ?持通過document.createElement ?法產?的標簽
可以利?這?特性讓這些瀏覽器?持HTML5 新標簽
瀏覽器?持新標簽后,還需要添加標簽默認的樣式
當然也可以直接使?成熟的框架茫船、?如html5shim
2.瀏覽器對html渲染?
1. 解析html和構建dom樹是同步進行的琅束,這個過程就是逐行解析代碼扭屁,包括html標簽和js動態(tài)生成的標簽,最終生成dom樹涩禀。
2. 構建呈現(xiàn)樹料滥,就是把css文件和style標簽的中的內容,結合dom樹的模型艾船,構建一個呈現(xiàn)樹葵腹,寫到內存,等待進一步生成界面屿岂。呈現(xiàn)樹一定依賴dom樹践宴,呈現(xiàn)節(jié)點一定會有對應的dom節(jié)點,但是dom節(jié)點不一定會有對應的呈現(xiàn)節(jié)點爷怀,比如阻肩,被隱藏的一個div。
3. 布局霉撵,這一步就是結合呈現(xiàn)樹磺浙,把dom節(jié)點的大小、位置計算出來徒坡。雖然呈現(xiàn)節(jié)點已經附著在都沒節(jié)點上,會有對元素大小瘤缩、位置的定義喇完,但是瀏覽器還需要根據(jù)實際窗口大小進行計算,比如對auto的處理剥啤。
4. 繪制锦溪,把css中有關顏色的設置,背景府怯、字體顏色等呈現(xiàn)出來刻诊。
3.html標準盒模型和怪異盒模型
標準盒模型:一個塊的總寬度= width + margin(左右) + padding(左右) + border(左右)
怪異盒模型:一個塊的總寬度= width + margin(左右)(即width已經包含了padding和border值)
4.position有哪些值
? ? 1、static:默認值牺丙;
? ? 2则涯、?絕對定位:absolute
? ? 3、相對定位:relative
? ? 4冲簿、固定定位:fixed
5.CSS優(yōu)先級算法如何計算粟判?
!important 大于一切 > 內聯(lián) 1000 > id 100? > class 10? > tag? 1 ;?
6.什么是 canvas?
HTML5 <canvas> 元素用于圖形的繪制,通過腳本 (通常是JavaScript)來完成.
<canvas> 標簽只是圖形容器峦剔,您必須使用腳本來繪制圖形档礁。
你可以通過多種方法使用 canvas 繪制路徑,盒、圓吝沫、字符以及添加圖像呻澜。
7. 你是如何理解HTML語義化的递礼?
HTML結構,是用有一定語義的英文字母標簽表示的羹幸,因為HTML本身就是標記語言宰衙。不僅對自己來說,容易閱讀睹欲,書寫供炼,別人看你的代碼和結構也容易理解。
根據(jù)內容的結構化窘疮、選擇合適的標簽袋哼,能夠便于開發(fā)者閱讀和寫出更優(yōu)雅的代碼的同時讓網絡爬蟲很好的解析。
語義化好處:
1)有利于SEO
2)在沒有CSS的情況下闸衫,頁面也能呈現(xiàn)出很好地內容結構
3)便于開發(fā)和維護
4)支持多終端設備的瀏覽器渲染
8. metaviewport是做什么用的涛贯,怎么寫?
viewport是指web頁面上用戶的可見區(qū)域蔚出,viewport的大小是和設備相關的弟翘。
width:控制viewport的寬度大小,你可以給它指定一個值骄酗,如:600稀余,或者甚至還可以給它一個特殊的值,如:device-width趋翻,device-width為設備的寬度睛琳。
height:與width相對應,指定viewport高度踏烙。
initial-scale:初始縮放比例师骗,也即是當頁面第一次load的時候縮放比例。
maximum-scale:允許用戶縮放到的最大比例讨惩。
minimum-scale:允許用戶縮放到的最小比例辟癌。
user-scalable:是否允許用戶手動縮放。
9.你用過哪些HTML5標簽荐捻?
<header>黍少,<footer>,<main>靴患,<nav>仍侥,<section>,<time>
10.H5是什么鸳君?
HTML5是HTML的第五代標準农渊。
PC端流行Flash無法在移動端播放,H5指可以達到Flash效果(如各種動畫,互動)的砸紊,可以在移動端播放的传于,用于廣告、營銷的醉顽,具有酷炫效果的網頁沼溜。
11.html5存儲類型有什么區(qū)別?
cookies:服務器和客戶端都可以訪問游添,大小只有4KB左右系草,有有效期,過期后將會刪除唆涝;
localStorage:將數(shù)據(jù)保存在本地的硬件設備找都,沒有時間限制,關閉瀏覽器也不會丟失廊酣。永久保存
sessionStorage:將數(shù)據(jù)保存在session對象中能耻,關閉瀏覽器后數(shù)據(jù)也隨之銷毀。臨時保存
12.doctype 作用亡驰?嚴格模式與混合模式如何區(qū)分晓猛?它們有何意義?
<!DOCTYPE> 聲明可告知瀏覽器文檔使用哪種 HTML 或 XHTML 規(guī)范凡辱。
在標準模式中戒职,瀏覽器根據(jù)規(guī)范呈現(xiàn)頁面;
在混雜模式中煞茫,頁面以一種比較寬松的向后兼容的方式顯示
13.哪些瀏覽器支持HTML5帕涌?
答:幾乎所有的高版本瀏覽器Safari,Chrome续徽,F(xiàn)irefox,Opera亲澡,IE8以上都支持HTML5
14.HTML靜態(tài)頁面出現(xiàn)中文亂碼如何解決钦扭?
答:<meta charset="UTF-8" />
15.背景圖合并用在什么地方最適合,有什么優(yōu)點床绪。
答: 通常當遇到一個網站要加載大量icon(小圖標)的時候客情,我們會把它合并成sprite(圖片拼接)。目的是為了減少HTTP請求次數(shù)癞己。這樣做既能減少頁面加載時間膀斋,又可以減輕服務器的負載
16.頁面如何在瀏覽器里達到居中,并且左右自適應痹雅?
答:margin: 0 auto;
17.HTML5版本類型聲明怎么寫仰担。有什么用?
答:<!DOCTYPE html>
18.XHTML1.0版本你知道么绩社,跟html5版本有什么區(qū)別
答: XHTML 1.0 是 XML 風格的 HTML 4.01摔蓝。
XHTML 1.1 主要是初步進行了模塊化赂苗。
HTML5 是下一代 HTML,取代 HTML 4.01贮尉。
W3C 原本確實計劃用 XHTML 系列替代 HTML 4.01拌滋,但 XHTML 系列實際上只活到了 1.1(1.1 和夭折的 1.2 已經體現(xiàn)出過分 XML 的跡象急波,而 W3C 的理想其實在瘋狂的 XHTML 2 身上叛本,當然晤碘,它沒能誕生)担平,還沒脫離 HTML 4.01 的陰影就死了信夫。
19.前端頁面有哪三層構成所袁,分別是什么王悍?作用是什么岛心?
答: 分成:結構層沦零、表示層祭隔、行為層。
結構層由 HTML 或 XHTML之類的標記語言負責創(chuàng)建路操。標簽疾渴,也就是那些出現(xiàn)在尖括號里的單詞,對網頁內容的語義含義做出了描述屯仗,但這些標簽不包含任何關于如何顯示有關內容的信息搞坝。例如,P標簽表達了這樣一種語義:“這是一個文本段魁袜∽椋”
表示層由 CSS 負責創(chuàng)建。 CSS對“如何顯示有關內容”的問題做出了回答峰弹。
行為層負責回答“內容應該如何對事件做出反應”這一問題店量。這是 Javascript 語言和 DOM主宰的領域。
20.你知道less,sass這些東西嗎鞠呈?
答: CSS 預處理器技術已經非常的成熟融师,而且也涌現(xiàn)出了越來越多的 CSS 的預處理器框架。最為普遍的三款 CSS 預處理器框架蚁吝,分別是 Sass旱爆、Less CSS、Stylus窘茁。CSS 預處理器是一種語言用來為 CSS 增加一些編程的的特性怀伦,無需考慮瀏覽器的兼容性問題,例如你可以在 CSS 中使用變量山林、簡單的程序邏輯房待、函數(shù)等等在編程語言中的一些基本技巧,可以讓你的 CSS 更見簡潔,適應性更強吴攒,代碼更直觀等諸多好處张抄。
21.table的合并邊框屬性是什么?跨行是什么洼怔?跨列是什么署惯?
答:合并邊框:cellspacing, 跨行:rowspan, 跨列: colspan
22.標簽的隱藏(display:none和visibility:hidden)的區(qū)別
答:visibility:hidden隱藏,但在瀏覽時保留位置镣隶;CSS display:none視為不存在极谊,且不加載!
23.在頁面內居中(水平和垂直方向)*3
答:垂直居中:水平方向給父級設置text-align;使用左右margin值為auto
豎直方向:設置line-height值為元素高度;設置元素絕對定位,top:0;bottom:0 margin:auto, 0
24.CSS有幾種引入方式安岂?link和@import有什么區(qū)別
link是XHTML標簽轻猖,除了加載CSS外,還可以定義RSS等其他事務域那;@import屬于CSS范疇咙边,只能加載CSS。
link引用CSS時次员,在頁面載入時同時加載败许;@import需要頁面網頁完全載入以后加載。
link是XHTML標簽淑蔚,無兼容問題市殷;@import是在CSS2.1提出的,低版本的瀏覽器不支持刹衫。
25醋寝、SGML、HTML带迟、XML和XHTML之間的關系音羞?
SGML(標準通用標記語言)是一種指定文檔標記的標準,是一種描述了文檔標記應該如何的元語言仓犬。HTML是描述使用SGML的標記語言黄选。
通過SGML,每一個HTML頁面都需要在相同的地方創(chuàng)建并附加一個DTD(文檔類型定義)節(jié)點婶肩。所以,你總是可以在HTML頁面的頂部發(fā)現(xiàn)DTD用于解析目的的“DOCTYPE”屬性貌夕。
<!--!doctype-->
由于解析SGML是一種痛苦律歼,所以創(chuàng)建了XML。XML使用SGML啡专。例如险毁,在SGML,你必須擁有成對的開始和結束標簽,但在XML中畔况,你可以使用自動關閉的標簽鲸鹦。
XHTML源自于使用HTML 4.0的XML。你可以參考XML DTD如以下所示的代碼片段跷跪。
<!--!doctype--><!--!doctype-->
js面試
1.JS原型馋嗜、原型鏈
每個對象都會在其內部初始化?個屬性,就是prototype (原型)吵瞻,當我們訪問?個對象的
屬性時
如果這個對象內部不存在這個屬性葛菇,那么他就會去prototype ?找這個屬性,這個
prototype ?會有??的prototype 橡羞,于是就這樣?直找下去眯停,也就是我們平時所說的
原型鏈的概念
2.介紹js的基本數(shù)據(jù)類型
Undefined 、Null 卿泽、Boolean 莺债、Number 、String
3签夭、閉包
閉包就是能夠讀取其他函數(shù)內部變量的函數(shù)
閉包是指有權訪問另?個函數(shù)作?域中變量的函數(shù)齐邦,創(chuàng)建閉包的最常?的?式就是在?個函數(shù)內創(chuàng)建另?個函數(shù),通過另?個函數(shù)訪問這個函數(shù)的局部變量,利?閉包可以突破作?鏈域
閉包的特性:
.函數(shù)內再嵌套函數(shù)
.內部函數(shù)可以引?外層的參數(shù)和變量
.參數(shù)和變量不會被垃圾回收機制回收
說說你對閉包的理解
使?閉包主要是為了設計私有的?法和變量覆致。閉包的優(yōu)點是可以避免全局變量的污染侄旬,缺點是閉包會常駐內存,會增?內存使?量煌妈,使?不當很容易造成內存泄露儡羔。在js中,函數(shù)即閉包璧诵,只有函數(shù)才會產?作?域的概念
閉包 的最??處有兩個汰蜘,?個是可以讀取函數(shù)內部的變量,另?個就是讓這些變量始終保持在內存中閉包的另?個?處之宿,是封裝對象的私有屬性和私有?法
好處:能夠實現(xiàn)封裝和緩存等族操;
壞處:就是消耗內存、不正當使?會造成內存溢出的問題
使?閉包的注意點
由于閉包會使得函數(shù)中的變量都被保存在內存中比被,內存消耗很?色难,所以不能濫?閉包,否則會造成??的性能問題等缀,在IE中可能導致內存泄露
解決?法是枷莉,在退出函數(shù)之前,將不使?的局部變量全部刪除
4.JS哪些操作會造成內存泄露
1)意外的全局變量引起的內存泄露
2)閉包引起的內存泄露
3)沒有清理的DOM元素引用
4)被遺忘的定時器或者回調 5)子元素存在引起的內存泄露