日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

自己总结的前端面试题

發布時間:2025/3/17 HTML 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自己总结的前端面试题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • HTML5新增了哪些新特性和標簽?

  • CSS3有哪些新特性?

  • 列舉你所知道的行內元素有哪些?塊級元素有哪些? CSS的盒模型?

  • 介紹所知道的CSS hack技巧。

  • 常見的兼容性問題有哪些?

  • 常使用的JS類庫有哪些??是否進行過插件開發?

  • 若使用過Jquery,如何添加,刪除,替換節點?

  • JS中的事件是指什么IE與火狐的事件機制有什么區別? 如何阻止冒泡?

  • 是否做過后臺接口調用處理等操作?對Json有多少了解?

  • 介紹一下XMLHttpRequest什么?該對象的常用方法和屬性有哪些?

  • jquery 中如何將數組轉化為json字符串,然后再轉化回來?

  • Javascript中,有一個函數,執行時對象查找時,永遠不會去查找原型,這個函數是?

  • ajax是什么? ajax的交互模型(流程)? 同步和異步的區別?

  • 如何解決跨域問題?

  • 什么是閉包??閉包主要涉及到js的哪些特性

  • 你有哪些性能優化的方法?

  • ?

    參考答案如下:

  • HTML5新增了哪些新特性和標簽?
  • 答:

    a) 繪畫 canvas標簽

    ??b) 用于媒介回放的 video 和 audio 元素

    ??c) 本地離線存儲 localStorage 長期存儲數據,瀏覽器關閉后數據不丟失;

    ??d) sessionStorage 的數據在瀏覽器關閉后自動刪除

    e) 語意化更好的內容元素,比如 article、footer、header、nav、section

    ??f) 表單控件,calendar、date、time、email、url、search

  • CSS3有哪些新特性?
  • 答:

    a)?CSS3實現圓角(border-radius:8px)

    b)?陰影(box-shadow:10px)

    c)?對文字加特效(text-shadow、)

    d)?線性漸變(gradient)

    e)?旋轉(transform)

    transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);

    //旋轉,縮放,定位,傾斜

    f)?增加了更多的CSS選擇器,多背景rgba等。

  • 列舉你所知道的行內元素有哪些?塊級元素有哪些? CSS的盒模型?
    答:
  • 行內元素span,a,var ,em,input,img,img,textarea,var,em,strong,select等。
    塊級標簽:div,p,h1-h3,ul,ol,dl,li,dd,dt,table,td,tr等。

    CSS盒模型:頁面上的塊級元素被看做是一個矩形框,這個框由元素的內容(content)、內邊距(padding)、邊框(border)和外邊距(margin)組成。

  • 介紹所知道的CSS hack技巧。
  • 答:

    IE都能識別*;標準瀏覽器(如FF)不能識別*;
    IE6能識別*,但不能識別 !important,
    IE7能識別*,也能識別!important;
    FF不能識別*,但能識別!important;

    IE6支持下劃線,IE7和firefox均不支持下劃線。

  • 常見的兼容性問題有哪些?
  • 例如:

    a)?png24位的圖片在iE6瀏覽器上出現背景:解決方案是做成PNG8.

    b)?瀏覽器默認的margin和padding不同:解決方案是加一個全局的{margin:0;padding:0;}來統一。

    c)?IE6種浮動產生的雙倍邊距問題:解決方案是在float的標簽樣式控制中加入 _display:inline;將其轉化為行內屬性。(_這個符號只有ie6會識別)

  • 常使用的JS類庫有哪些??是否進行過插件開發?
    答:最常用的庫:Jquery ,YUI等。
  • 若使用過Jquery,如何添加,刪除,替換節點?
  • 答:obj.appendChild? obj.removeChild?? obj.replaceChild

  • JS中的事件是指什么IE與火狐的事件機制有什么區別? 如何阻止冒泡?
  • a) 我們在網頁中的某個操作(有的操作對應多個事件)。例如:當我們點擊一個按鈕就會產生一個事件。是可以被 JavaScript 偵測到的行為。

    b) 事件處理機制:IE是事件冒泡、火狐是事件捕獲; ?

    c) ev.stopPropagation()適用于火狐等瀏覽器 ; cancelBubble()只支持IE瀏覽器。

  • 是否做過后臺接口調用處理等操作?對Json有多少了解?
  • 答:JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。

    它是基于JavaScript的一個子集。數據格式簡單, 易于讀寫, 占用帶寬小。

  • 介紹一下XMLHttpRequest什么?該對象的常用方法和屬性有哪些?
    答:
  • a)?XMLHttpRequest 對象提供了在網頁加載后與服務器進行通信的方法。

    b)?open(“method”,”URL”) 建立對服務器的調用:

    第一個參數是HTTP請求,方式可以為GET,POST或任何服務器所支持的您想調用的方式。
    第二個參數是請求頁面的URL。
    ? ? send()方法,發送具體請求
    ? ? abort()方法,停止當前請求
    ? ? readyState屬性 ? 請求的狀態 有5個可取值0=未初始化 ,1=正在加載
    ? ? 2=以加載,3=交互中,4=完成
    ? ? responseText 屬性 ?服務器的響應,表示為一個串
    ? ? reponseXML 屬性 服務器的響應,表示為XML
    ? ? status ? 服務器的HTTP狀態碼,200對應ok ?400對應not found

  • jquery 中如何將數組轉化為json字符串,然后再轉化回來?
  • 答:

    $.fn.stringifyArray = function(array) {

    ??????return JSON.stringify(array)

    ??}

    ?

    ??$.fn.parseArray = function(array) {

    ??????return JSON.parse(array)

    ?}

  • Javascript中,有一個函數,執行時對象查找時,永遠不會去查找原型,這個函數是?
  • 答:hasOwnProperty

  • ajax是什么? ajax的交互模型(流程)? 同步和異步的區別?
  • 答:

    a)ajax是異步的 JavaScript 和 XML。通過在后臺與服務器進行少量數據交換,AJAX 可以使網頁實現異步更新。這意味著可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。

    b) ??1--啟動 ?獲取XMlHttpRequest對象
    ? ? 2--open 打開url通道,并設置異步傳輸?
    ? ? 3--send 發送數據到服務器
    ? ? 4--服務器接受數據并處理,處理完成后返回結果?
    ? ? 5--客戶端接收服務器端返回

    c)同步:腳本會停留并等待服務器發送回復然后再繼續.

    異步:腳本允許頁面繼續其進程并處理可能的回復.

  • 如何解決跨域問題?
  • 答:幾個可行的方案:

    1、Web代理的方式。即用戶訪問A網站時所產生的對B網站的跨域訪問請求均提交到A網站的指定頁面,由該頁面代替用戶頁面完成交互,從而返回合適的結果。此方案可以解決現階段所能夠想到的多數跨域訪問問題,但要求A網站提供Web代理的支持,因此A網站與B網站之間必須是緊密協作的,且每次交互過程,A網站的服務器負擔增加,且無法代用戶保存session狀態。

    2、on-Demand方式。動態控制script標記的生成,通過修改script標記的src屬性完成對跨域頁面的調用。此方案存在的缺陷是,script的src屬性完成該調用時采取的方式是get方式,如果請求時傳遞的字符串過大時,可能會無法正常運行。不過此方案非常適合聚合類門戶使用。

    3、iframe方式。數據提交跟獲取,采用iframe這種方式的確可以了,但由于父窗口與子窗口之間不能交互(跨域訪問的情況下,這種交互被拒絕),因此無法完成對父窗口效果的影響。

    4、用戶本地轉儲方式:IE本身依附于windows平臺的特性為我們提供了一種基于iframe,利用內存來“繞行”的方案,即兩個window之間可以在客戶端通過windows剪貼板的方式進行數據傳輸,只需要在接受數據的一方設置Interval進行輪詢,獲得結果后清除Interval即可。FF的平臺獨立性決定了它不支持剪貼板這種方式,而以往版本的FF中存在的插件漏洞又被fixed了,所以FF無法通過內存來完成暗渡陳倉。而由于文件操作FF也沒有提供支持(無法通過Cookie跨域完成數據傳遞),致使這種技巧性的方式只能在IE中使用。

    5、結合了前面幾種方式,在訪問A網站時,先請求B網站完成數據處理,再根據返回的標識來獲得所需的結果。這種方法的缺點也很明顯,B網站的負載增大了。優點,對session也實現了保持,同時A網站與B網站頁面間的交互能力增強了。最重要的一點,這種方案滿足了我們的全部需要。

  • 什么是閉包??閉包主要涉及到js的哪些特性
  • 答:

    a)?能夠讀取其他函數內部變量的函數.(閉包定義大體理解對即可)

    b) 作用域鏈,垃圾(內存)回收機制,函數嵌套等

  • 你有哪些性能優化的方法?
  • 答:1) 減少http請求次數:CSS Sprites, JS、CSS源碼壓縮、圖片大小控制合適;網頁Gzip,CDN托管,data緩存 ,圖片服務器。(2) 前端模板 JS+數據,減少由于HTML標簽導致的帶寬浪費,前端用變量保存AJAX請求結果,每次操作本地變量,不用請求,減少請求次數(3) 用innerHTML代替DOM操作,減少DOM操作次數,優化javascript性能。(4) 當需要設置的樣式很多時設置className而不是直接操作style。(5) 少用全局變量、緩存DOM節點查找的結果。減少IO讀取操作。(6) 避免使用CSS Expression(css表達式)又稱Dynamic properties(動態屬性)。(7) 圖片預加載,將樣式表放在頂部,將腳本放在底部,加上時間戳。(8) 避免在頁面的主體布局中使用table,table要等其中的內容完全下載之后才會顯示出來,顯示比div+css布局慢。

    轉載于:https://www.cnblogs.com/wujx9/p/7244989.html

    總結

    以上是生活随笔為你收集整理的自己总结的前端面试题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。