手寫乙個instanceof

2021-09-28 11:42:48 字數 460 閱讀 9392

示例: 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...