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>

  • 相关阅读:
    linux学习笔记--20150122
    破解LR11 sentinel stage failed
    Linux部署环境初学(Resin、jdk)
    MongoDB操作
    TestNG
    在iOS8 下用Swift 创建自定义的键盘
    iOS 8下简单,可交互式的通知
    设计模式:策略模式
    用Swift创建一个自定义,可调整的控件
    iOS7状态栏上有趣的渐变遮罩
  • 原文地址:https://www.cnblogs.com/syf/p/2709334.html
Copyright © 2011-2022 走看看