1. 程式人生 > >前端面試集錦

前端面試集錦

筆試題:

  1. css3實現自適應的3行,左右行固定寬頻,中間自適應,要求優先渲染中間部分

考點:瀏覽器渲染機制

 

 

 

 

 

  1. 事件委託

定義:

利用事件冒泡處理動態元素事件繫結的方法,專業術語叫事件委託。

使用事件委託技術可以避免對特定的每個節點新增事件監聽器,相反,事件監聽器是被新增到它們的父元素上。事件監聽器會分析從子元素冒泡上來的事件,找到是哪個子元素的事件。

 

事件委託的好處:

事件委託技術可以避免對每個字元素新增事件監聽器,減少操作DOM節點的次數,從而減少瀏覽器的重繪和重排,提高程式碼的效能。

使用事件委託,只有父元素與DOM存在互動,其他的操作都是在JS虛擬記憶體中完成的,這樣就大大提高了效能。

什麼時候用事件委託:

當子元素有很多,需要對子元素的時間進行監聽的時候

window.onload = function(){

            var oBox = document.getElementById("box");

            oBox.onclick = function (ev) {

                var ev = ev || window.event;

                var target = ev.target || ev.srcElement;

                if(target.nodeName.toLocaleLowerCase() == 'input'){

                    switch(target.id){

                        case 'add' :

                            alert('新增');

                            break;

                        case 'remove' :

                            alert('刪除');

                            break;

                        case 'move' :

                            alert('移動');

                            break;

                        case 'select' :

                            alert('選擇');

                            break;

                    }

                }

            }

            

        }

 

 

 

  1. Vuex

https://vuex.vuejs.org/zh/guide/

vuex 就是使用一個 store 物件來包含所有的應用層級狀態,也就是資料的來源。當然如果應用比較龐大,我們可以將 store 模組化,也就是每個模組都有自己的 store。分割方式見如下的程式碼:

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. vue生命週期

 

 

 

  1. call,apply

 

  1. var let const
  2. const定義的變數不可以修改,而且必須初始化。
  3. var定義的變數可以修改,如果不初始化會輸出undefined,不會報錯。
  4. let是塊級作用域,函式內部使用let定義後,對函式外部無影響。

 

  1. Position

static(靜態定位):預設值,無法使用top,bottom,left,right以及z-index,這種定位方式用margin來改變位置,並且不脫離文件流

relative(相對定位):生成相對定位的元素,通過top,bottom,left,right的設定相對於其正常(原先本身)位置進行定位。這種定位不脫離文件流,可通過z-index進行層次分級。通俗一點來說,相對於其正常位置進行定位,兩個塊級元素div的正常位置是這樣的

absolute定位(絕對定位):絕對定位,可以用top/right/bottom/left來控制位置,這種定位脫離文件流,可以理解為跟其他的元素不再一個次元中,absolute是相對於最近祖先非static定位元素來定位的,如果說他的父級定位是預設的,那麼他就會繼續向上找父級的父級,直到找到非static定位元素為基準點來進行定位,在沒有父元素的條件下,它的參照為body

fixed定位(固定定位):固定定位,這種定位是相對於瀏覽器的視窗進行定位,通常用來顯示一些提示資訊,比如大多數網站上的右下角都有一個回到頂部的按鈕,這種定位脫離文件流,元素的位置通過 left, top, right 以及 bottom 屬性進行規定。可通過z-index進行層次分級。

 

  1. 效能優化

1,減少HTTP請求

2,減少DOM元素數量和訪問

3,將樣式表放到頁面頂部,將指令碼放到頁面底部

4,javascriptcss從外部引入

5,壓縮javascriptcss

6,刪除不需要的指令碼

7,減少DOM

6,合理設計事件監聽器

7,優化圖片:根據實際顏色需要選擇色深、壓縮