第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

instanceof運算符

instanceof運算符

qq_遁去的一_1 2018-11-15 18:14:59
https://www.ibm.com/developer...根據(jù)此文instaceof可以用下列代碼模擬function instance_of(L, R) {//L 表示左表達式,R 表示右表達式   var O = R.prototype;// 取 R 的顯示原型   L = L.__proto__;// 取 L 的隱式原型   while (true) {      if (L === null)        return false;      if (O === L)// 這里重點:當 O 嚴格等于 L 時,返回 true        return true;      L = L.__proto__;    }   }但是var a=1;instance_of(a,Object)為truea instanceof Object卻返回false,這是為什么?
查看完整描述

1 回答

?
皈依舞

TA貢獻1851條經(jīng)驗 獲得超3個贊

樓主,你可以試一試 你的 instance_of 是代替不了 instanceof 的

首先,明確你的樣本 a 是Number 類型

但是,執(zhí)行結(jié)果如下
instance_of(a, Object) // true
instance_of(a, Number) // true

修改 instance_of 方法:

function instance_of(L, R) {

  try {

    var O = R.prototype;// 取 R 的顯示原型

    L = Object.getPrototypeOf(L);// 取 L 的隱式原型

    while (true) { 

      if (L === null) 

        return false; 

      if (O === L)// 這里重點:當 O 嚴格等于 L 時,返回 true 

        return true; 

      L = L.Object.getPrototypeOf(L); 

    }

  } catch (e) {

    return false

  }

}

再次實驗:

var a = 1


instance_of(a, Object) // false 

instance_of(a, Number) // true


var parent = function () {}  

var child = new parent()


instance_of(child, parent) // true


查看完整回答
反對 回復(fù) 2018-12-11
  • 1 回答
  • 0 關(guān)注
  • 515 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號