Web前端面試題目匯總_第1頁
Web前端面試題目匯總_第2頁
Web前端面試題目匯總_第3頁
Web前端面試題目匯總_第4頁
Web前端面試題目匯總_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、最新前端開發(fā)工程師面試題HTML部分1、Doctype作用? 嚴格模式與混雜模式如何區(qū)分?它們有何意義?(1)、 聲明位于文檔中的最前面,處于 標簽之前。告知瀏覽器的解析器,用什么文檔類型 規(guī)范來解析這個文檔。(2)、嚴格模式的排版和 JS 運作模式是以該瀏覽器支持的最高標準運行。(3)、在混雜模式中,頁面以寬松的向后兼容的方式顯示。模擬老式瀏覽器的行為以防止站點無法工作。(4)、DOCTYPE不存在或格式不正確會導致文檔以混雜模式呈現(xiàn)。2、行內元素有哪些?塊級元素有哪些?(1)CSS規(guī)范規(guī)定,每個元素都有display屬性,確定該元素的類型,每個元素都有默認的display值,比如div默認

2、display屬性值為“block”,成為“塊級”元素;span默認display屬性值為“inline”,是“行內”元素。(2)行內元素有:a b span img input select strong(強調的語氣)塊級元素有:div ul ol li dl dt dd h1 h2 h3 h4p3、link 和import 的區(qū)別是?(1)link屬于XHTML標簽,而import是CSS提供的;(2)頁面被加載的時,link會同時被加載,而import引用的CSS會等到頁面被加載完再加載;(3)import只在IE5以上才能識別,而link是XHTML標簽,無兼容問題;(4)link方式

3、的樣式的權重 高于import的權重.4、瀏覽器的內核分別是什么?IE瀏覽器的內核Trident、Mozilla的Gecko、Chrome的Blink(WebKit的分支)、Opera內核原為Presto,現(xiàn)為Blink;5、HTML5有哪些新特性?如何處理HTML5新標簽的瀏覽器兼容問題?如何區(qū)分 HTML 和 HTML5?HTML5 現(xiàn)在已經不是 SGML 的子集,主要是關于圖像,位置,存儲,多任務等功能的增加。繪畫 canvas用于媒介回放的 video 和 audio 元素 本地離線存儲 localStorage 長期存儲數(shù)據(jù),瀏覽器關閉后數(shù)據(jù)不丟失;sessionStorage 的數(shù)

4、據(jù)在瀏覽器關閉后自動刪除語意化更好的內容元素,比如 article、footer、header、nav、section 表單控件,calendar、date、time、email、url、search新的技術webworker, websockt, Geolocation6、對語義化如何理解?用正確的標簽做正確的事情!HTML語義化就是讓頁面的內容結構化,便于對瀏覽器、搜索引擎解析;在沒有樣式CCS情況下也以一種文檔格式顯示,并且是容易閱讀的。搜索引擎的爬蟲依賴于標記來確定上下文和各個關鍵字的權重,利于 SEO。使閱讀源代碼的人對網(wǎng)站更容易將網(wǎng)站分塊,便于閱讀維護理解。7、HTML5的離線儲存

5、有幾種方式?localStorage長期存儲數(shù)據(jù),瀏覽器關閉后數(shù)據(jù)不丟失;sessionStorage數(shù)據(jù)在瀏覽器關閉后自動刪除。8、iframe有那些缺點?iframe會阻塞主頁面的Onload事件;iframe和主頁面共享連接池,而瀏覽器對相同域的連接有限制,所以會影響頁面的并行加載。使用iframe之前需要考慮這兩個缺點。如果需要使用iframe,最好是通過javascript動態(tài)給iframe添加src屬性值,這樣可以可以繞開以上兩個問題。9、請描述一下 cookies,sessionStorage 和 localStorage 的區(qū)別?cookie在瀏覽器和服務器間來回傳遞。 ses

6、sionStorage和localStorage不會sessionStorage和localStorage的存儲空間更大;sessionStorage和localStorage有更多豐富易用的接口;sessionStorage和localStorage各自獨立的存儲空間;最新前端開發(fā)工程師面試題CSS部分1、CSS 選擇符有哪些?哪些屬性可以繼承?優(yōu)先級算法如何計算? CSS3新增偽類有那些?1.id選擇器( # myid) 2.類選擇器(.myclassname) 3.標簽選擇器(div, h1, p) 4.相鄰選擇器(h1 + p) 5.子選擇器(ul id class tag impor

7、tant 比 內聯(lián)優(yōu)先級高2、CSS3新增偽類舉例:p:first-of-type 選擇屬于其父元素的首個元素的每個元素。p:last-of-type選擇屬于其父元素的最后元素的每個元素。p:only-of-type選擇屬于其父元素唯一的元素的每個元素。p:only-child選擇屬于其父元素的唯一子元素的每個元素。p:nth-child(2)選擇屬于其父元素的第二個子元素的每個元素。:enabled:disabled 控制表單控件的禁用態(tài)。:checked單選框或復選框被選中。3、如何居中div?如何居中一個浮動元素?給div設置一個寬度,然后添加margin:0 auto屬性divwidt

8、h:200px;margin:0 auto; 居中一個浮動元素確定容器的寬高 寬500 高 300 的層設置層的外邊距 .div Width:500px ; height:300px;/高度可以不設Margin: -150px 0 0 -250px;position:relative;相對定位background-color:pink;/方便看效果left:50%;top:50%;列出display的值,說明他們的作用。position的值, relative和absolute定位原點是?1.block 象塊類型元素一樣顯示。none 缺省值。象行內元素類型一樣顯示。inline-block

9、象行內元素一樣顯示,但其內容象塊類型元素一樣顯示。list-item 象塊類型元素一樣顯示,并添加樣式列表標記。2.absolute生成絕對定位的元素,相對于 static 定位以外的第一個父元素進行定位。fixed (老IE不支持)生成絕對定位的元素,相對于瀏覽器窗口進行定位。relative 生成相對定位的元素,相對于其正常位置進行定位。static默認值。沒有定位,元素出現(xiàn)在正常的流中*(忽略 top, bottom, left, right z-index 聲明)。inherit 規(guī)定從父元素繼承 position 屬性的值。4、為什么要初始化CSS樣式?因為瀏覽器的兼容問題,不同瀏覽

10、器對有些標簽的默認值是不同的,如果沒對CSS初始化往往會出現(xiàn)瀏覽器之間的頁面顯示差異。當然,初始化樣式會對SEO有一定的影響,但魚和熊掌不可兼得,但力求影響最小的情況下初始化。最簡單的初始化方法就是: * padding: 0; margin: 0; (不建議)淘寶的樣式初始化: body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, legend, button, input, textarea, th, td margin:0; padding:0; body

11、, button, input, select, textarea font:12px/1.5tahoma, arial, /5b8b/4f53; h1, h2, h3, h4, h5, h6 font-size:100%; address, cite, dfn, em, var font-style:normal; code, kbd, pre, samp font-family:couriernew, courier, monospace; small font-size:12px; ul, ol list-style:none; a text-decoration:none; a:hov

12、er text-decoration:underline; sup vertical-align:text-top; sub vertical-align:text-bottom; legend color:#000; fieldset, img border:0; button, input, select, textarea font-size:100%; table border-collapse:collapse; border-spacing:0; 5、absolute的containing block計算方式跟正常流有什么不同?6、position跟display、margin c

13、ollapse、overflow、float這些特性相互疊加后會怎么樣?7、對BFC規(guī)范的理解?(W3C CSS 2.1 規(guī)范中的一個概念,它決定了元素如何對其內容進行定位,以及與其他元素的關 系和相互作用。)8、css定義的權重以下是權重的規(guī)則:標簽的權重為1,class的權重為10,id的權重為100,以下例子是演示各種定義的權重值:/*權重為1*/div/*權重為10*/.class1/*權重為100*/#id1/*權重為100+1=101*/#id1 div/*權重為10+1=11*/.class1 div/*權重為10+10+1=21*/.class1 .class2 div 如果權

14、重相同,則最后定義的樣式會起作用,但是應該避免這種情況出現(xiàn)9、解釋下浮動和它的工作原理?清除浮動的技巧10、用過媒體查詢,針對移動端的布局嗎?11、使用 CSS 預處理器嗎?喜歡那個?12、CSS3有哪些新特性?CSS3實現(xiàn)圓角(border-radius:8px),陰影(box-shadow:10px),對文字加特效(text-shadow、),線性漸變(gradient),旋轉(transform)transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);/旋轉,縮放,定位,傾斜增加了更多的C

15、SS選擇器多背景 rgba13、經常遇到的CSS的兼容性有哪些?原因,解決方法是什么?14、介紹一下CSS的盒子模型?(1)有兩種, IE 盒子模型、標準 W3C 盒子模型;IE的content部分包含了 border 和 pading;(2)盒模型: 內容(content)、填充(padding)、邊界(margin)、 邊框(border).1.對WEB標準以及W3C的理解與認識?標簽閉合、標簽小寫、不亂嵌套、提高搜索機器人搜索幾率、使用外鏈css和js腳本、結構行為表現(xiàn)的分離、文件下載與頁面速度更快、內容能被更多的用戶所訪問、內容能被更廣泛的設備所訪問、更少的代碼和組件,容易維護、改版方

16、便,不需要變動頁面內容、提供打印版本而不需要復制內容、提高網(wǎng)站易用性;2.XHTML和HTML有什么區(qū)別?HTML是一種基本的WEB網(wǎng)頁設計語言,XHTML是一個基于XML的置標語言最主要的不同:XHTML 元素必須被正確地嵌套。XHTML 元素必須被關閉。標簽名必須用小寫字母。XHTML 文檔必須擁有根元素。3.Doctype? 嚴格模式與混雜模式-如何觸發(fā)這兩種模式,區(qū)分它們有何意義?用于聲明文檔使用那種規(guī)范(HTML/XHTML)一般為 嚴格 過度 基于框架的html文檔加入XMl聲明可觸發(fā),解析方式更改為IE5.5 擁有IE5.5的bug4.行內元素有哪些?塊級元素有哪些?CSS的盒模

17、型?塊級元素:div p h1 h2 h3 h4 form ul行內元素: a b br i span input selectCss盒模型:內容,border ,margin,padding5.CSS引入的方式有哪些? link和import的區(qū)別是?內聯(lián) 內嵌 外鏈 導入?yún)^(qū)別 :同時加載前者無兼容性,后者CSS2.1以下瀏覽器不支持Link 支持使用javascript改變樣式,后者不可6.CSS選擇符有哪些?哪些屬性可以繼承?優(yōu)先級算法如何計算?內聯(lián)和important哪個優(yōu)先級高?標簽選擇符 類選擇符 id選擇符繼承不如指定 Idclass標簽選擇后者優(yōu)先級高7.前端頁面有哪三層構成,

18、分別是什么?作用是什么?結構層 HTML 表示層 CSS 行為層 js8.CSS的基本語句構成是?選擇器屬性1:值1;屬性2:值2;9.你做的頁面在哪些流覽器測試過?這些瀏覽器的內核分別是什么?Ie(Ie內核) 火狐(Gecko) 谷歌(webkit) opear(Presto)10.寫出幾種IE6 BUG的解決方法1.雙邊距BUG float引起的 使用display2.3像素問題 使用float引起的 使用dislpay:inline -3px3.超鏈接hover 點擊后失效 使用正確的書寫順序 link visited hover active4.Ie z-index問題 給父級添加po

19、sition:relative5.Png 透明 使用js代碼 改6.Min-height 最小高度 !Important 解決7.select 在ie6下遮蓋 使用iframe嵌套8.為什么沒有辦法定義1px左右的寬度容器(IE6默認的行高造成的,使用over:hidden,zoom:0.08 line-height:1px)9.ie 6 不支持!important11.img標簽上title與alt屬性的區(qū)別是什么?Alt 當圖片不顯示是 用文字代表。Title 為該屬性提供信息12.描述css reset的作用和用途。Reset重置瀏覽器的css默認屬性 瀏覽器的品種不同,樣式不同,然后重

20、置,讓他們統(tǒng)一13.解釋css sprites,如何使用。Css 精靈 把一堆小的圖片整合到一張大的圖片上,減輕服務器對圖片的請求數(shù)量14.瀏覽器標準模式和怪異模式之間的區(qū)別是什么?盒子模型 渲染模式的不同使用 可顯示為什么模式15.你如何對網(wǎng)站的文件和資源進行優(yōu)化?期待的解決方案包括:文件合并文件最小化/文件壓縮使用CDN托管緩存的使用16.什么是語義化的HTML?直觀的認識標簽 對于搜索引擎的抓取有好處17.清除浮動的幾種方式,各自的優(yōu)缺點1.使用空標簽清除浮動 clear:both(理論上能清楚任何標簽,增加無意義的標簽)2.使用overflow:auto(空標簽元素清除浮動而不得不增加

21、無意代碼的弊端,使用zoom:1用于兼容IE)3.是用afert偽元素清除浮動(用于非IE瀏覽器)18.css hack_marging IE 6+margin IE 7Marging:0 auto 9 所有IeMargin 0 IE 8Javascript部分1.javascript的typeof返回哪些數(shù)據(jù)類型Object number function boolean underfind2.例舉3種強制類型轉換和2種隱式類型轉換?強制(parseInt,parseFloat,number)隱式(= =)3.split() join() 的區(qū)別前者是切割成數(shù)組的形式,后者是將數(shù)組轉換成字符

22、串4.數(shù)組方法pop() push() unshift() shift()Push()尾部添加 pop()尾部刪除Unshift()頭部添加 shift()頭部刪除5.事件綁定和普通事件有什么區(qū)別6.IE和DOM事件流的區(qū)別1.執(zhí)行順序不一樣、2.參數(shù)不一樣3.事件加不加on4.this指向問題7.IE和標準下有哪些兼容性的寫法Var ev = ev | window.event | Var target = ev.srcElement|ev.target8.ajax請求的時候get 和post方式的區(qū)別一個在url后面 一個放在虛擬載體里面有大小限制安全問題應用不同 一個是論壇等只需要請求的

23、,一個是類似修改密碼的9.call和apply的區(qū)別Object.call(this,obj1,obj2,obj3)Object.apply(this,arguments)10.ajax請求時,如何解釋json數(shù)據(jù)使用eval parse 鑒于安全性考慮 使用parse更靠譜11.b繼承a的方法12.JavaScript this指針、閉包、作用域13.事件委托是什么讓利用事件冒泡的原理,讓自己的所觸發(fā)的事件,讓他的父元素代替執(zhí)行!14.閉包是什么,有什么特性,對頁面有什么影響閉包就是能夠讀取其他函數(shù)內部變量的函數(shù)。15.如何阻止事件冒泡和默認事件canceBubble return fals

24、e16.添加 刪除 替換 插入到某個接點的方法obj.appendChidl()obj.innersetBeforeobj.replaceChildobj.removeChild17.解釋jsonp的原理,以及為什么不是真正的ajax動態(tài)創(chuàng)建script標簽,回調函數(shù)Ajax是頁面無刷新請求數(shù)據(jù)操作18.javascript的本地對象,內置對象和宿主對象本地對象為array obj regexp等可以new實例化內置對象為gload Math 等不可以實例化的宿主為瀏覽器自帶的document,window 等19.document load 和document ready的區(qū)別Documen

25、t.onload 是在結構和樣式加載完才執(zhí)行jsDocument.ready原生種沒有這個方法,jquery中有 $().ready(function)20.”=”和“=”的不同前者會自動轉換類型后者不會21.javascript的同源策略一段腳本只能讀取來自于同一來源的窗口和文檔的屬性,這里的同一來源指的是主機名、協(xié)議和端口號的組合22.編寫一個數(shù)組去重的方法function oSort(arr)var result =;var newArr=;for(var i=0;iarr.length;i+)if(!resultarr)newArr.push(arr)resultarr=1return

26、 newArr/arr.length;i+)1.自我評價一下HTML/CSS/JS的掌握情況2.簡述HTML經常使用的標簽和作用。Div/a/p/span/li/ul/ol/table/tr/td3.你認為最常遇到的兼容Bug有哪些?有哪些問題是你認為解決起來最麻煩的?IE6 PNGIE6 Fixed4.塊級元素和行內元素都有哪些? 行內元素有哪些特點?5.介紹所知道的CSS hack技巧(如:_, *, +, 9, !important 之類)6.CSS定位方式有哪些?position屬性的值有哪些?他們之間的區(qū)別是什么?在CSS中關于定位的內容是:position:relative | a

27、bsolute | static | fixed static 沒有特別的設定,遵循基本的定位規(guī)定,不能通過z-index進行層次分級。 relative 不脫離文檔流,參考自身靜態(tài)位置通過 top,bottom,left,right 定位,并且可以通過z-index進行層次分級。 absolute 脫離文檔流,通過 top,bottom,left,right 定位。選53D6其最近的父級定位元素,當父級 position 為 static 時,absolute元素將以body坐標原點進行定位,可以通過z-index進行層次分級。 fixed 固定定位,這里他所固定的對像是可視窗口而并非是bo

28、dy或是父級元素??赏ㄟ^z-index進行層次分級。7.函數(shù)的幾種定義方法?function a(),var a = function()8.對象的定義方法?a = new Object(), a = 9.類的定義方法(prototype)(繼承)Var a = function()totype = new a();10.this 關鍵字的指向obj.foo() = obj /方法調用模式,this指向objfoo() = window; /函數(shù)調用模式,this指向windownew obj.foo() = obj /構造器調用模式, this指向新建立對象foo.call(obj

29、) = obj;/APPLY調用模式,this指向obj11.什么是閉包,及其作用是什么?12.事件綁定的幾種方法,事件冒泡?13.Ajax/json/json0070?14.異步ajax的優(yōu)缺點都有什么?優(yōu)點: 相對于同步ajax:不會造成UI卡死,用戶體驗好。 相對于刷新頁面,省流量缺點: 后退按鈕無效; 多個請求同時觸發(fā)時,由于回調時間不確定,會造成混亂,避免這種混亂需要復雜的判斷機制。 搜索引擎不友好 數(shù)據(jù)安全15.常用JS框架都有什么?是否使用過jQuery,以及jQuery的優(yōu)點是什么?16.JS用了多久,介紹一下自己做過的JS項目?17.開發(fā)調試工具和方法都有什么(編輯器、瀏覽器

30、)18.類、函數(shù)、對象(代碼表達)19.閉包(setTimeout)(產生兩個首尾相連的計時器)(使用for循環(huán)產生10個計時器)|20.Jquery Mobile 相關21.HTML5/CSS3的掌握情況22.是否聽說過和理解webapp?23.個人擅長的語言,優(yōu)缺點都是什么?24.介紹一下曾經參與過的項目經驗,合作開發(fā)、獨立開發(fā)25.編程的重要知識?26.開發(fā)過程中遇到困難,如何解決?27.有沒有個人/開源項目28.前端開發(fā)(HTML/CSS/)最新前端開發(fā)工程師面試題JavaScript部分1、eval是做什么的?它的功能是把對應的字符串解析成JS代碼并運行;應該避免使用eval,不安全

31、,非常耗性能(2次,一次解析成js語句,一次執(zhí)行)。2、Node.js的適用場景?高并發(fā)、聊天、實時消息推送3、介紹js的基本數(shù)據(jù)類型。number,string,boolean,object,undefined4、Javascript如何實現(xiàn)繼承?通過原型和構造器5、如何創(chuàng)建一個對象? (畫出此對象的內存圖)function Person(name, age) = name;this.age = age;this.sing = function() alert() 6、談談This對象的理解。this是js的一個關鍵字,隨著函數(shù)使用場合不同,this的值會

32、發(fā)生變化。但是有一個總原則,那就是this指的是調用函數(shù)的那個對象。this一般情況下:是全局對象Global。 作為方法調用,那么this就是指這個對象7、事件是什么?IE與火狐的事件機制有什么區(qū)別? 如何阻止冒泡?(1) 我們在網(wǎng)頁中的某個操作(有的操作對應多個事件)。例如:當我們點擊一個按鈕就會產生一個事件。是可以被 JavaScript 偵測到的行為。(2) 事件處理機制:IE是事件冒泡、火狐是 事件捕獲;(3) ev.stopPropagation();8、什么是閉包(closure),為什么要用它?執(zhí)行say667()后,say667()閉包內部變量會存在,而閉包內部函數(shù)的內部變量

33、不會存在.使得Javascript的垃圾回收機制GC不會收回say667()所占用的資源,因為say667()的內部函數(shù)的執(zhí)行需要依賴say667()中的變量。這是對閉包作用的非常直白的描述.function say667() / Local variable that ends up within closurevar num = 666;var sayAlert = function() alert(num); num+;return sayAlert; var sayAlert = say667(); sayAlert()/執(zhí)行結果應該彈出的6679、如何判斷一個對象是否屬于某個類?使用

34、instanceof (待完善) if(a instanceof Person) alert(yes); 10、Javascript中,有一個函數(shù),執(zhí)行時對象查找時,永遠不會去查找原型,這個函數(shù)是?hasOwnProperty11、對JSON 的了解?JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。它是基于JavaScript的一個子集。數(shù)據(jù)格式簡單, 易于讀寫, 占用帶寬小age:12, name:back2016年Web前端面試題目匯總以下是收集一些面試中經常會遇到的經典面試題以及自己面試過程中無法解決的問題,通過對知識的整理以及經驗的總結,重

35、新鞏固自身的前端基礎知識,如有錯誤或更好的答案,歡迎指正。:)HTML/CSS部分1、什么是盒子模型?在網(wǎng)頁中,一個元素占有空間的大小由幾個部分構成,其中包括元素的內容(content),元素的內邊距(padding),元素的邊框(border),元素的外邊距(margin)四個部分。這四個部分占有的空間中,有的部分可以顯示相應的內容,而有的部分只用來分隔相鄰的區(qū)域或區(qū)域。4個部分一起構成了css中元素的盒模型。2、行內元素有哪些?塊級元素有哪些? 空(void)元素有那些?行內元素:a、b、span、img、input、strong、select、label、em、button、textar

36、ea塊級元素:div、ul、li、dl、dt、dd、p、h1-h6、blockquote空元素:即系沒有內容的HTML元素,例如:br、meta、hr、link、input、img3、CSS實現(xiàn)垂直水平居中一道經典的問題,實現(xiàn)方法有很多種,以下是其中一種實現(xiàn):HTML結構: CSS:.wrapperposition:relative;.contentbackground-color:#6699FF;width:200px;height:200px;position: absolute;/父元素需要相對定位top: 50%;left: 50%;margin-top:-100px ; /二分之一的

37、height,widthmargin-left: -100px;4、簡述一下src與href的區(qū)別href 是指向網(wǎng)絡資源所在位置,建立和當前元素(錨點)或當前文檔(鏈接)之間的鏈接,用于超鏈接。src是指向外部資源的位置,指向的內容將會嵌入到文檔中當前標簽所在位置;在請求src資源時會將其指向的資源下載并應用到文檔內,例如js腳本,img圖片和frame等元素。當瀏覽器解析到該元素時,會暫停其他資源的下載和處理,直到將該資源加載、編譯、執(zhí)行完畢,圖片和框架等元素也如此,類似于將所指向資源嵌入當前標簽內。這也是為什么將js腳本放在底部而不是頭部。5、什么是CSS Hack?一般來說是針對不同的

38、瀏覽器寫不同的CSS,就是 CSS Hack。IE瀏覽器Hack一般又分為三種,條件Hack、屬性級Hack、選擇符Hack(詳細參考CSS文檔:css文檔)。例如:/ 1、條件Hack .testcolor:red; / 2、屬性Hack.testcolor:#0909; /* For IE8+ */*color:#f00;/* For IE7 and earlier */_color:#ff0;/* For IE6 and earlier */ / 3、選擇符Hack* html .testcolor:#090; /* For IE6 and earlier */* + html .tes

39、tcolor:#ff0; /* For IE7 */6、簡述同步和異步的區(qū)別同步是阻塞模式,異步是非阻塞模式。同步就是指一個進程在執(zhí)行某個請求的時候,若該請求需要一段時間才能返回信息,那么這個進程將會一直等待下去,直到收到返回信息才繼續(xù)執(zhí)行下去;異步是指進程不需要一直等下去,而是繼續(xù)執(zhí)行下面的操作,不管其他進程的狀態(tài)。當有消息返回時系統(tǒng)會通知進程進行處理,這樣可以提高執(zhí)行的效率。7、px和em的區(qū)別px和em都是長度單位,區(qū)別是,px的值是固定的,指定是多少就是多少,計算比較容易。em得值不是固定的,并且em會繼承父級元素的字體大小。瀏覽器的默認字體高都是16px。所以未經調整的瀏覽器都符合:

40、 1em=16px。那么12px=0.75em, 10px=0.625em8、什么叫優(yōu)雅降級和漸進增強?漸進增強 progressive enhancement:針對低版本瀏覽器進行構建頁面,保證最基本的功能,然后再針對高級瀏覽器進行效果、交互等改進和追加功能達到更好的用戶體驗。優(yōu)雅降級 graceful degradation:一開始就構建完整的功能,然后再針對低版本瀏覽器進行兼容。區(qū)別:a. 優(yōu)雅降級是從復雜的現(xiàn)狀開始,并試圖減少用戶體驗的供給b. 漸進增強則是從一個非?;A的,能夠起作用的版本開始,并不斷擴充,以適應未來環(huán)境的需要c. 降級(功能衰減)意味著往回看;而漸進增強則意味著朝前

41、看,同時保證其根基處于安全地帶9、瀏覽器的內核分別是什么?IE: trident內核Firefox:gecko內核Safari:webkit內核Opera:以前是presto內核,Opera現(xiàn)已改用Google Chrome的Blink內核Chrome:Blink(基于webkit,Google與Opera Software共同開發(fā))JavaScript部分1、怎樣添加、移除、移動、復制、創(chuàng)建和查找節(jié)點?1)創(chuàng)建新節(jié)點createDocumentFragment() /創(chuàng)建一個DOM片段createElement() /創(chuàng)建一個具體的元素createTextNode() /創(chuàng)建一個文本節(jié)點2)

42、添加、移除、替換、插入appendChild() /添加removeChild() /移除replaceChild() /替換insertBefore() /插入3)查找getElementsByTagName() /通過標簽名稱getElementsByName() /通過元素的Name屬性的值getElementById() /通過元素Id,唯一性2、實現(xiàn)一個函數(shù)clone,可以對JavaScript中的5種主要的數(shù)據(jù)類型(包括Number、String、Object、Array、Boolean)進行值復制。/* * 對象克隆 * 支持基本數(shù)據(jù)類型及對象 * 遞歸方法 */function

43、 clone(obj) var o;switch (typeof obj) case undefined:break;case string:o = obj + ;break;case number:o = obj - 0;break;case boolean:o = obj;break;case object: / object 分為兩種情況 對象(Object)或數(shù)組(Array)if (obj = null) o = null; else if (Ototype.toString.call(obj).slice(8, -1) = Array) o = ;for (var

44、 i = 0; iobj.length; i+) o.push(clone(obji); else o = ;for (var k in obj) ok = clone(objk);break;default:o = obj;break;return o;3、如何消除一個數(shù)組里面重復的元素?/ 方法一:var arr1 =1,2,2,2,3,3,3,4,5,6,arr2 = ;for(var i = 0,len = arr1.length; i len; i+)if(arr2.indexOf(arr1i) 0)arr2.push(arr1i);document.write(arr2); / 1

45、,2,3,4,5,64、想實現(xiàn)一個對頁面某個節(jié)點的拖曳?如何做?(使用原生JS)。5、在Javascript中什么是偽數(shù)組?如何將偽數(shù)組轉化為標準數(shù)組?偽數(shù)組(類數(shù)組):無法直接調用數(shù)組方法或期望length屬性有什么特殊的行為,但仍可以對真正數(shù)組遍歷方法來遍歷它們。典型的是函數(shù)的argument參數(shù),還有像調用getElementsByTagName,document.childNodes之類的,它們都返回NodeList對象都屬于偽數(shù)組。可以使用(fakeArray)將數(shù)組轉化為真正的Array對象。function log()var args = Atotype.slice.call(arguments);/為了使用unshift數(shù)組方法,將argument轉化為真正的數(shù)組args.unshift(app);console.log.apply(console, args);6、Javascript中callee和caller的作用?caller是返回一個對函數(shù)的引用,該函數(shù)調用了當前

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論