前端面試題總結二

2021-09-12 08:02:27 字數 1299 閱讀 7378

繼續學習。。

1.已知如下陣列:

var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];

編寫乙個程式將陣列扁平化去並除其中重複部分資料,最終得到乙個公升序且不重複的陣列

自己的實現

var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10]

let set = new set()

function s(arr))

console.log(a);

關鍵在於flat函式將陣列遞迴的解析出來

2.promise執行順序

const promise = new promise((resolve, reject) => )

promise.then(() => )

console.log(4)

結果:1 2 4 3

結論: promise建構函式是同步執行的,then方法是非同步執行的

3. new 的實現

// 實現乙個new

var dog = function(name)

dog.prototype.bark = function()

dog.prototype.sayname = function()

let sanmao = new dog('三毛')

sanmao.sayname()

sanmao.bark()

new 的作用

建立乙個新物件obj

把obj的__proto__指向dog.prototype 實現繼承

執行建構函式,傳遞引數,改變this指向 dog.call(obj, …args)

最後把obj賦值給sanmao

var _new =function _new(fn,...args) 

var simao = _new(dog, 'simao')

simao.bark()

simao.sayname()

console.log(simao instanceof dog) // true

github 搜尋advanced-frontend

前端面試題總結

什麼是盒子模型?元素寬度是否包含margin寬度?padding百分比是相對於父級寬度還是自身寬度?解釋px和em?答 盒子模型又稱框模型,包含了元素內容 內邊距 邊框 外邊距幾個要素。元素內容不包括margin寬度,但是ie模式的width包括content padding border,w3c的...

前端面試題總結

1.彈性布局 flex布局是css3中新增的一種布局方式。元素排列方式 flex direction 超出行是否換行 nowrap不換行 flex wrap 水平對齊方式 justify content 垂直對齊方式 align items 實現水平居中對齊 display flex justify...

前端面試題總結

前端瀏覽器快取問題 1.強快取,可以通過cache control和expires控制。cache control no cache,no store,must revalidate cache control must revalidate 必須重新驗證 cache control no cach...