2020-12-06 instanceof 的原理,并代码实现

news/2024/6/30 4:33:36

解答 :

遍历A的原型链,如果能找到B的prototype,返回true  找不到返回false


const instanceOf = (A, B) => {
    let p = A;
    while (p) {
        if (p === B.prototype) {
            return true
        }
        p = p.__proto__;
    }
    return false
}

 


http://www.niftyadmin.cn/n/3655831.html

相关文章

嵌入式Linux编程--我的第一次艰难跋涉

其实从很早我就想深入学习Linux,但时间有限,并且Linux门槛挺高,不是很容易上手。最近由于隧道项目中用到嵌入式Linux(Arm CPU上的Linux),并且提供硬件的单位针对Linux的编程收费很高,并且时间很…

2020-12-06 原型链面试题

明确foo 和 F的原型链,沿着原型链找A属性和B属性; console.log(foo.a) foo 是个对象 对象的原型链 是Object foo.a 的原型链上a 所以 输出 value a console.log(foo.b) undefined foo的原型链上 没有 F console.log(F.a) value a F 的原型链是f…

Windows Mobile远程控制软件Pocket Controller Pro简介

Pocket Controller Pro是一款优秀的PPC/Windows Mobile远程控制软件,功能非常强大,安装完毕后,不仅可通过同步信道控制远程设备,此外还可以通过TCP/IP操控远程设备,速度性能达到了极致,完全可以取代VS2005提…

2020-12-09 二叉树的先中后序遍历

递归版 先序遍历算法口诀 访问根节点对左子树进行先序遍历对右子树进行先序遍历 const preorder (root) > {if(!root) { return }console.log(root.val)preorder(root.left)preorder(root.right) } 中序遍历算法口诀 对根节点的左子树进行中序遍历访问根节点对跟几点的右…

.Net程序开发中一个较为隐蔽的GDI泄露探析

最近一直在调试第三方委托开发的医疗输液系统(我接手时,代码已经完成,原则上我只修改接口部分以适应我们的硬件即可,不过调试过程中,该程序本身问题暴露不少),该系统用VB.net开发,该软件的图形界面是花费n多…

js --- 图的深度广度优先遍历

深度优先遍算法口诀 访问根节点对根节点的没有访问过的降临节点进行深度优先遍历 const graph {0:[1,2],1:[2],2:[0,3],3:[3] } const visited new Set() const dfs (n) >{console.log(n)visited.add(n)graph[n].forEach(c > {if (!visited.has(c)){dfs(c)}}); } dfs…

西门子Prodave5.5使用说明及VC示例

西门子PLC的通信协议主要是PPI、MPI、Profibus、CP243/CP343/CP443 网络协议,prodave是早期完成的程序接口,除了网络协议外其它的主要协议都支持,SoftNet是西门子最新推出的通信协议接口,稳定,并且大而全,目…

2020-12-18 js 实现堆

堆是什么? 堆是一种特殊的完全二叉树所有的节点都大于等于(最大堆)或小于等于(最小堆)它的子节点。 js 中的堆 js 中通常用数组表示堆左侧子节点的位置是 2 * index 1右侧子节点的位置是2* index 2父节点位置是&am…