JS:前端面試題(一)

1.棧和佇列的區別?

棧的插入和刪除操作都是在一端進行的,而佇列的操作卻是在兩端進行的。

佇列先進先出,棧先進後出。

棧只允許在表尾一端進行插入和刪除,而佇列只允許在表尾一端進行插入,在表頭一端進行刪除

JS:前端面試題(一)

2.棧和堆的區別?

棧區(stack)— 由編譯器自動分配釋放 ,存放函式的引數值,區域性變數的值等。

堆區(heap) — 一般由程式設計師分配釋放, 若程式設計師不釋放,程式結束時可能由OS回收。

堆(資料結構):堆可以被看成是一棵樹,如:堆排序;

棧(資料結構):一種先進後出的資料結構。

3.瀏覽器端的js包括哪幾個部分?

核心( ECMAScript) , 文件物件模型(DOM), 瀏覽器物件模型(BOM)

4。

介紹js有哪些內建物件?

Object 是 JavaScript 中所有物件的父物件

資料封裝類物件:Object、Array、Boolean、Number 和 String

其他物件:Function、Arguments、Math、Date、RegExp、Error

5.基本型別與引用型別有什麼區別?

基本資料型別有: Undefined、Null、Boolean、Number、String

引用型別則有: Object, Array, Date, RegExp, Function

區別:

5-1。儲存

(1)。基本型別值在記憶體中佔據固定大小的空間,因此被儲存在棧記憶體中

(2)。引用型別的值是物件, 儲存在堆記憶體中。 包含引用型別的變數實際上包含的並不是物件本身, 而是一個指向改物件的指標

5-2。複製

(1)。從一個變數向另一個變數複製基本型別的值, 會建立這個值的一個副本

(2)。從一個變數向另一個變數複製引用型別的值, 複製的其實是指標,因此兩個變數最終都指向同一個物件

5-3。檢測型別

(1)。確定一個值是哪種基本型別可以用typeof運算子

(2)。確定一個值是哪種引用型別可以使用instanceof運算子

6.JavaScript有幾種型別的值?

棧:原始資料型別(Undefined,Null,Boolean,Number、String)

堆:引用資料型別(物件、陣列和函式)

兩種型別的區別是:儲存位置不同;

希望能對各位小夥伴有所幫助,另外小編這裡整理了web前端的學習資料,相信有很多想要學習web前端的小夥伴,那就關注小編,私信【學習】,即可免費獲得哦!