前端面試題(十三)

  • 爲何 HTML5 只須要寫<!DOCTYPE HTML>就能夠

    由於 html5 和 html4 基於的基準不一樣.
    html4 基於 SGML,所以須要除了 DOCTYPE外,還須要引入 DTD 來告訴瀏覽器用什麼標準進行渲染. DTD 還分爲標準模式,嚴格模式.若是什麼都不寫,就徹底讓瀏覽器自我發揮,會變成怪異模式.
    html5 不基於 SGML,所以後面不用跟 DTD,可是須要 DOCTYPE來規範瀏覽器渲染行爲
    注:SGML 是通用標記語言的集合。其中有 HTML、XML,所以須要用 DTD 來指定使用那種規範

  • position:fixed; 在 ios 下無效怎麼辦?

    將須要position:fixed和滑動的區域隔開
    把須要用手滑動的內容用clss爲.content(名字隨便起)的div包起來,樣式代碼以下:
    .content {  
    position: fixed;  
    top: 0;  
    left: 0;  
    bottom: 180px; //距離底部的距離爲底部盒子的高度,本身也能夠設  
    overflow-y: scroll;  
    width: 100%;  
    height: auto;  
    -webkit-overflow-scrolling: touch; //這句是爲了滑動更順暢 
    }  
    -webkit-overflow-scrolling: touch;
    這句代碼必定得寫,要不上下滑動起來有些卡頓,親自體驗過的。  
    而後把須要固定在底部的內容用class爲.footer(名字隨便起)的div包起來,樣式代碼以下:
    
    .footer {  
    position: fixed;  
    bottom: 0;  
    height: 180px;  
    }

  • 什麼是閉包,有什麼優缺點

    閉包是能夠訪問另外一個函數做用域的函數。因爲 javascript的特性,外層的函數沒法訪問內部函數的變量;而內部函數能夠訪問外部函數的變量(即做用域鏈)

    優勢 : 使用閉包能夠隱藏變量以及防止變量被篡改和做用域的污染,從而實現封裝。
    缺點 : 因爲保留了做用域鏈,會增長內存的開銷。所以須要注意內存的使用,而且防止內存泄露的問題。javascript

面試題摘自:Githubhtml

相關文章
相關標籤/搜索