JS中的 Instanceof

作者: 肆意木 | 来源:发表于2017-07-20 11:54 被阅读19次

    <h4> Instanceof 的功能类似与 typeof </h4>
    对于值类型,你可以通过typeof判断,string/number/boolean都很清楚,但是typeof在判断到引用类型的时候,返回值只有object/function,你不知道它到底是一个object对象,还是数组,还是new Number等等。

    nstanceof运算符的第一个变量是一个对象,暂时称为A;第二个变量一般是一个函数,暂时称为B。

    Instanceof的判断队则是:沿着A的proto这条线来找,同时沿着B的prototype这条线来找,如果两条线能找到同一个引用,即同一个对象,那么就返回true。如果找到终点还未重合,则返回false。

    <h3>分别举栗子</h3>

    <strong> typeof 判断类型是什么,比如:</strong>

    var a = 1;
    var b = {};
    var c = [];
    function d() {
    
    }
    
    console.log(typeof (a));
    console.log(typeof (b));
    console.log(typeof (c));
    console.log(typeof (d));
    

    输出结果:


    jianshu.png

    <strong>Instanceof 是判断一个对象是否为某一数据类型,举栗子:</strong>

    function test() {
    
    }
    console.log(test instanceof Function);
    console.log(Function instanceof test);
    

    结果:

    jianshu.png

    <h6>看了好多文档,得出结论 Instanceof 用在原型链这边会更方便。<h6>

    相关文章

      网友评论

        本文标题:JS中的 Instanceof

        本文链接:https://www.haomeiwen.com/subject/hcpdkxtx.html