在cdn中實現原理是:給源站網域名稱新增cnmae,別名為加速節點的網域名稱。當使用者向源站發起請求時,dns伺服器解析源站網域名稱時會發現有cnmae記錄,這時dns伺服器會向cname網域名稱發起請求,請求會被排程至加速節點的網域名稱。
instanceof
instanceof 的內部機制是通過判斷物件的原型鏈中是不是能找到型別的 prototype。
使用 instanceof判斷乙個物件是否為陣列,instanceof 會判斷這個物件的原型鏈上是否會找到對應的 array 的原型,找到返回 true,否則返回 false。
instanceof array; // true
優點:instanceof可以彌補object.prototype.tostring.call()不能判斷自定義例項化物件的缺點。
缺點: instanceof 只能用來判斷物件型別,原始型別不可以。並且所有物件型別 instanceof object 都是 true,且不同於其他兩種方法的是它不能檢測出iframes。
constructor
object.prototype.tostring.call()let arr=[1
,2]arr.constructor === array //true
優點:這種方法對於所有基本的資料型別都能進行判斷,即使是 null和defined,且和下面的array.isarray方法一樣都能檢測出 iframes;
缺點:不能精準判斷自定義物件,對於自定義物件只會返回[object object]
array.isarray()object.prototype.tostring.
call([
1,2,
3]);
// 「[object array]」
object.prototype.tostring.
call
('an'
)// "[object string]"
object.prototype.tostring.
call(1
)// "[object number]"
object.prototype.tostring.
call
(symbol(1
))// "[object symbol]"
object.prototype.tostring.
call
(null
)// "[object null]"
object.prototype.tostring.
call
(undefined)
// "[object undefined]"
object.prototype.tostring.
call
(function()
)// "[object function]"
object.prototype.tostring.
call()
// "[object object]"
object.prototype.tostring.
call()
// 常用於判斷瀏覽器內建物件時。
優點:當檢測array例項時,array.isarray 優於 instanceof ,因為 array.isarray 和object.prototype.tostring.call可以檢測出 iframes,而instanceof不能
缺點:只能判別陣列
例如:給定的兩個陣列為[1, [2, 3], [[4], 5]], 函式返回[1, 2, 3, 4, 5]
答案:陣列扁平化**實現
答案:
[防抖節流**實現]父元件的beforecreate
父元件的created
父元件的beforemount
子元件的beforecreate
子元件的created
子元件的beforemount
子元件的mounted
父元件的mounted
前端面試題(四)
const showthis var obj showthis obj.showthis 兩者都指向window,因為箭頭函式中的this為大括號外面的this。var obj obj.showthis 這個也指向window 0.1 0.2 等於 0.3 嗎?為什麼?解決方案?0.1 0.2 to...
前端面試題
sprites是什麼和為什麼要使用他們?css 精靈 把一堆小的整合到一張大的上,減輕伺服器對的請求數量 有可能替代sprites的方法是什麼?svg圖示,字型圖示,字元編碼等等。1 在div排版的時候,假設現在是100px的寬,我在盒子左側用padding left留個10px的白,div就撐開了...
前端面試題
行內元素有哪些?塊級元素有哪些?空 void 元素有哪些?link和 import的區別是?常見相容性問題?含移動端 html5的離線儲存?描寫一段語義化的html 吧 html5的form如何關閉自動完成功能?什麼是閉包 closure 為什麼要用?localstorage和sessionstor...