面試可能會遇到的各類問題講解

語義化html

什麼是語義化html?

    語義化html就是根據頁面內容的結構,選擇合適的標籤(例如頭部用header標籤,導航用nav標籤,底部用footer標籤等)。
    使用語義化html的好處在於便於開發者閱讀,方便後期的更新迭代,加強網頁的權重。

H5新增的特性

H5新增了哪些新特性?

    新增了一些新標籤:canvas,video,header,nav,article等
    form表單新增一些新類型:list,range,email,tel等
    css3新增一些新屬性:@media,@keyframe,transform,box-shadow,display:flex等

閉包

什麼是閉包?使用閉包有什麼好處?

    閉包首先是有兩個函數,一個函數嵌套另外一個函數,格式以下:


    function fn(){
        var a = 0;
        return function(){
            a++;
            alert(a);
        }
    }
    var b = fn();
    b();
    函數調用一次造成一個閉包。
    
    好處:變量私有化,避免變量命名衝突,能夠緩存,具備封裝性

null跟undefined

null跟undefined有什麼區別?

    null跟undefined都是js的基本數據類型,null是表示沒有對象,是一個空指針,undefined是聲明瞭一個變量但沒有賦值。

ajax的請求方式

ajax的請求方式有哪些?它們有什麼區別?

    ajax請求方式有get請求,post請求
    get:請求數據量小,請求信息在地址欄顯示,安全係數低
    post:能夠請求大量數據,請求信息不在地址欄顯示,安全係數高

json數據

json數據的格式是什麼樣的?如何解析json數據渲染到頁面上?

    json格式:
        簡單格式:
            `{"name":"a"}`
        數組格式:
        {
            "json":[
                {"name":"a"},
                {"name":"b"},
                {"name":"c"}
            ]
        
        }
        
    解析:
        數據請求成功後保存到一個變量data中,
        var html = "";
        for(var i = 0; i < data.length; i++){
            html += "<div>" + data.json[i].name + "</div>"
        }
        $('#element').html(html);

跨域問題

如何解決跨域問題?jsonp用哪一種請求方式?

    iframe跨域
    動態建立script標籤,src結尾須要加上?callback=jsonpCallback
    ajax請求,dataType爲jsonp,jsonp的請求方式用get請求

原型跟原型鏈

先留着,待講解(由於我不懂,裏邊的關係太亂了)

this對象

如何理解this對象的指向?

    誰調用這個方法,this就指向誰,沒有調用就指向window,自執行的方法也指向window

圖片懶加載

圖片懶加載的原理?
    
    像作一些電商的項目就會有大量的圖片展現,這時就會用到圖片懶加載,它的原理就是按需加載,先把圖片的真實地址保存到一個自定義屬性中,爲了用戶體驗能夠先給img標籤的src一個默認的本地圖片地址,而後根據scrollTop的變化觸發事件把存放圖片真實地址的值賦給src
相關文章
相關標籤/搜索