原型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...