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>

  • 相关阅读:
    o1-check-power-of-2 && search-a-2d-matrix
    Remove Linked List Elements &&remove-duplicates-from-sorted-list
    fibonacci && climbing-stairs
    2016 Multi-University Training Contest 1 Abandoned country
    中断调用与子程序设计实验
    POJ 3764
    CSU 1566 The Maze Makers
    poj2524 Ubiquitous Religions
    poj2377
    汇编语言程序设计的上机基础知识预备
  • 原文地址:https://www.cnblogs.com/syf/p/2709334.html
Copyright © 2011-2022 走看看