zoukankan      html  css  js  c++  java
  • JavaScript:isPrototypeOf和hasOwnProperty

    1、isPrototypeOf

     


    isPrototypeOf是用来判断指定对象object1是否存在于另一个对象object2的原型链中,是则返回true,否则返回false。

    格式如下:

    object1.isPrototypeOf(object2);

    object1是一个对象的实例;

    object2是另一个将要检查其原型链的对象。

    原型链可以用来在同一个对象类型的不同实例之间共享功能。

    如果 object2 的原型链中包含object1,那么 isPrototypeOf 方法返回 true。

    如果 object2 不是一个对象或者 object1 没有出现在 object2 中的原型链中,isPrototypeOf 方法将返回 false。

    使用举例如下:

    var re = /^\s*/;
    // 这里定义一个正则表达式对象
    //
    这里检查RegExp是不是re的原形链对象,返回true
    var bIsptt = RegExp.prototype.isPrototypeOf(re);

    2、hasOwnProperty

    hasOwnProperty判断一个对象是否有名称的属性或对象,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。

    如果该属性或者方法是该 对象自身定义的而不是器原型链中定义的 则返回true;否则返回false;

    格式如下:

    object.hasOwnProperty(proName);

    判断proName的名称是不是object对象的一个属性或对象。使用举例如下:

    // 得到false, 因为不能检测原型链中的属性
    var bStr = "Test String".hasOwnProperty("split");

    // String对象的原型上本来就有这个属性,自然返回true
    var bStr1 = String.prototype.hasOwnProperty("split");

    // 返回true,因为不是检测原型中的属性
    var bObj = ({fnTest:function(){}}).hasOwnProperty("fnTest");
  • 相关阅读:
    让你在PC上调试Web App,UC浏览器发布开发者版
    多态
    深入理解DIP、IoC、DI以及IoC容器
    设计模式之迪米特原则(LOD)(最少知识原则)
    设计模式之合成/聚合利用原则(CARP)
    设计模式之接口隔离原则(ISP)
    设计模式之依赖倒转原则(DIP)
    设计模式之里氏代换原则(LSP)
    OO设计原则
    SQL分页
  • 原文地址:https://www.cnblogs.com/siceblue/p/1677345.html
Copyright © 2011-2022 走看看