標籤:服務端 就是 內容 java 另一個 symbol 效能 als 相同
1,JS基本的資料類型和參考型別:
(1)基礎資料型別 (Elementary Data Type):number,string,null,undefined,symbol--棧;
(2)引用資料類型:object,array,function--堆;
兩種資料類型儲存位置不同;
1),未經處理資料類型是直接儲存在棧中的簡單資料區段,佔據空間小,大小固定,屬於被頻繁使用資料。
2),引用資料類型儲存在堆中的對象,佔據空間大,大小不固定,如果儲存在棧中,將會影響程式啟動並執行效能。
3),引用資料類型在棧中儲存了指標,該指標指向堆中該實體的起止地址。
4),當解譯器尋找引用值時,會首先檢索其在棧中的地址,取得地址後從堆中獲得實體。
2,介紹JS的內建對象:
1),資料封裝類對象:Object,String,Number,Boolean,Array.
2),其他對象:Function,Data,Math,Arguments,RegExp,Error.
3),Es6新增對象:Promise,Proxy,Map,Set,Symbol,Reflect.
3,幾條Javascript的基本規範:
1),變數和函數在使用前要聲明;
2),語句結束後添加分號;
3),程式碼片段使用{}包裹;
4),以大寫字母開頭定義建構函式,以全大寫定義常量;
5),用{}和【】聲明對象和數組;
6),使用===和!==來比較true和false或者數字值;
4,eval是做什麼的?
1),他的功能是把對應的字串解析成JS代碼並運行;
2),他不安全,而且非常耗能(執行兩次,一次解析成JS代碼,一次執行)
5,對閉包的理解:
閉包是指有權訪問另一個函數範圍中變數的函數,建立閉包的最常見的方法就是在一個函數裡建立另一個函數,通過另一個函數訪問這個函數的局部變數,利用閉包可以突破範圍鏈,將函數內部的變數和方法傳遞到外部。
必報的特性:函數內嵌套函數,內建函式可以引用外部的參數和變數;參數和變數不會被記憶體回收機制回收。
6,HTTP狀態代碼:
100:繼續一般在發送post請求時,已發送了HTTP header之後服務端將返回此資訊,表示確認,之後發送具體參數資訊。
200:OK 正常返回資訊。
400:伺服器無法理解請求的格式,用戶端不應當嘗試再次使用相同的內容發起請求。
404:找不到如何與url相匹配的資源。
500:最常見的伺服器端錯誤。
503:伺服器端暫時無法處理請求。
7,描述瀏覽器渲染的過程,DOM書和渲染樹的區別:
瀏覽器渲染過程:
1),解析HTML構建DOM,並行請求css,image,js。
2),css檔案下載完成,開始構建cssom(css樹)。
3),cssom構建結束後,和DOM一起產生Render Tree(渲染樹)。
4),布局(layout):計算出每個節點在螢幕中的位置。
5),顯示:通過顯卡把頁面畫到螢幕上。
前端面試之Javascript