前端的常見面試題 基礎篇

2021-10-08 15:36:25 字數 1221 閱讀 5965

原型prototype:

原型鏈_proto_

constructor建構函式 :

物件原型(proto)和建構函式(prototype)原型物件裡面都有乙個屬性 constructor 屬性 ,constructor 我們稱為建構函式,因為它指回建構函式本身。

constructor 主要用於記錄該物件引用於哪個建構函式,它可以讓原型物件重新指向原來的建構函式。

一般情況下,物件的方法都在建構函式的原型物件中設定。如果有多個物件的方法,我們可以給原型物件採取物件形式賦值,但是這樣就會覆蓋建構函式原型物件原來的內容,這樣修改後的原型物件 constructor 就不再指向當前建構函式了。此時,我們可以在修改後的原型物件中,新增乙個 constructor 指向原來的建構函式。

什麼是閉包? 閉包(closure)指有權訪問另乙個函式作用域中變數的函式。簡單理解就是 ,乙個作用域可以訪問另外乙個函式內部的區域性變數。

閉包的作用:延伸變數的作用範圍。

function fn() 

return fun;

}var f = fn();

f();

push()

pop()

shift() 從陣列中刪除第乙個元素,並返回該元素的值。此方法更改陣列的長度

unshift() 方法將乙個或多個元素新增到陣列的開頭,並返回該陣列的新長度(該方法修改原有陣列)。

concat() 方法用於合併兩個或多個陣列。此方法不會更改現有陣列,而是返回乙個新陣列

slice()[切割] 方法返回乙個新的陣列物件,這一物件是乙個由 begin 和 end 決定的原陣列的淺拷貝(包括 begin,不包括end)。原始陣列不會被改變。

splice() 方法通過刪除或替換現有元素或者原地新增新的元素來修改陣列,並以陣列形式返回被修改的內容。此方法會改變原陣列

find() 方法返回陣列中滿足提供的測試函式的第乙個元素的值。否則返回 undefined。

filter() 對陣列的每項元素進行過濾得到新陣列

map() 對每個元素單獨進行運算

reduce() 對陣列的每個元素前後進行彙總

解構賦值

let person = ; 

let = person;

箭頭函式

剩餘引數

string的擴充套件方法: 模板字串(***)

前端常見面試題一

js事件委託就是利用冒泡的原理,把本應該新增到某個元素上的事件委託給他的父級,從而減少dom互動達到網頁優化 var ulobj document.getelementbyid list ulobj.onclick function e nodename 屬性可依據節點的型別返回其名稱。如果節點是乙...

高階前端常見面試題

1 請介紹一下回流 reflow 與重繪 repaint 回流 當我們對 dom 的修改引發了 dom 幾何尺寸的變化 比如修改元素的寬 高或隱藏元素 等 時,瀏覽器需要重新計算元素的幾何屬性 其他元素的幾何屬性和位置也會因此受到影 響 然後再將計算的結果繪製出來。這個過程就是回流 也叫重排 重繪 ...

前端開發常見面試題

1.盒子模型 所謂盒子模型 box model 就是把html頁面中的元素看作是乙個矩形的盒子,也就是乙個盛裝內容的容器。每個矩形都由元素的內容 content 內邊距 padding 邊框 border 和外邊距 margin 組成。2.html5新特性 3.div垂直水平居中 child 1 f...