在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
let arr=[1
,2]arr.constructor === array //true
object.prototype.tostring.call()
優點:這種方法對於所有基本的資料型別都能進行判斷,即使是 null和defined,且和下面的array.isarray方法一樣都能檢測出 iframes;
缺點:不能精準判斷自定義物件,對於自定義物件只會返回[object object]
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.isarray()
優點:當檢測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...