示例: a instanceof b
檢測a的原型鏈(__proto__)上是否有b.prototype,若有返回true,否則false
每次不斷迴圈,拿出a的原型,然後再拿出原型指向的構造方法,然後判斷一下是不是b。
如果a繼承b,然後用b例項化a,然後a instanceof a
會返回true,因為沿著__proto__鏈一直上去。
function instance_of(l, r) {//l 表示左表示式,r 表示右表示式
l = l.__proto__; // 取 l 的隱式原型
while (true) {
if (l === null)
return false;
if (r === l) // 當 r 顯式原型 嚴格等於 l隱式原型 時,返回true
return true;
l = l.__proto__;
記錄 實現乙個instanceOf
1 判斷left,right是不是在一條原型鏈上 2 首先需要知道的是原型鏈,每個建構函式都有乙個prototype屬性,指向它的原型物件,同時這個建構函式具備,乙個constructor屬性,它指向的是它的建構函式 3 通過建構函式new乙個例項,這個例項會具有 proto 屬性,指向的是這個建構...
手寫乙個Tomcat
1 工程截圖 2 封裝請求物件 通過輸入流,對http協議進行解析,拿到了http請求頭的方法和url author wangjie version 2018 11 9 封裝請求物件 通過輸入流,對http協議進行解析,拿到http請求頭的方法和url 3 封裝響應物件 基於http協議的格式進行輸...
手寫乙個ajax
在我看來,寫乙個ajax就需要5步,也就是5個單詞,這就是乙個ajax的流程。這五個單詞分別為 new open setrequestheader onreadystatechange send。記住這五個單詞你就有了ajax的整體的框架了。以上是最麻煩的一步,後面的步驟就比較簡單了。ajax.op...