zoukankan      html  css  js  c++  java
  • JavaScriptinstanceof

    //alert(test.prototype);

    //alert(Object.prototype);

    //alert(Function.prototype);

    //alert(test.__proto__);

    //alert(Object.__proto__);

    //alert(Function.__proto__);

    //alert(Object.prototype.__proto__);

    //alert(Object.prototype.constructor);

    alert(Function.prototype.__proto__);

    alert(Function.prototype.__proto__.__proto__);

    alert(Function.__proto__===Object.__proto__);

    alert(Function instanceof Function);//true 

    alert(Function instanceof Object);//true    

    alert(Object instanceof Function);//true 

              

    function Foo() {};

    var foo = new Foo();

    alert(foo instanceof Foo); // true

    alert(foo instanceof Function); // false

    alert(foo instanceof Object); // true

    alert(Foo instanceof Function); // true

    alert(Foo instanceof Object); // true

     

     


    instanceof 检测一个对象A是不是另一个对象B的实例的原理是:查看对象Bprototype指向的对象是否在对象A[[prototype]]链上。如果在,则返回true,如果不在则返回false。不过有一个特殊的情况,当对象Bprototypenull将会报错(类似于空指针异常)

    <script>

    Function.prototype.method = function(name,func){

    //mark_1

           this.prototype[name] = func;

           return this;

    };

    String.method("trim",function(){                         

           return this.replace(/^\s+|\s+$/g,'');

    });

    String.prototype.test=function()

    {

           return this+"你好";

    }

    alert(" test ".test());

    </script>

  • 相关阅读:
    node(3)MVC代码结构模式moogoDB的学习
    node(2)
    node (1)
    函数上下文的判断
    JSON解析
    原生ajax
    new 关键字
    String 截取字符串#中间的文本
    WARN警告:Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended
    在Java8的foreach()中使用break、continue
  • 原文地址:https://www.cnblogs.com/syf/p/2709334.html
Copyright © 2011-2022 走看看