zoukankan      html  css  js  c++  java
  • (转)JavaScript hasOwnProperty() 函数详解

    hasOwnProperty()函数用于指示一个对象自身(不包括原型链)是否具有指定名称的属性。如果有,返回true,否则返回false

    该方法属于Object对象,由于所有的对象都"继承"了Object的对象实例,因此几乎所有的实例对象都可以使用该方法。

    IE 5.5+、FireFox、Chrome、Safari、Opera等主流浏览器均支持该函数。

    语法

    object.hasOwnProperty( propertyName )

    参数

    参数描述
    propertyName String类型指定的属性名称

    返回值

    hasOwnProperty()函数的返回值为Boolean类型。如果对象object具有名称为propertyName的属性,则返回true,否则返回false

    此方法不会检查对象的原型链中是否存在该属性,该属性只有是对象本身的一个成员才会返回true

    示例&说明

    function Site(){
        this.name = "CodePlayer";
        this.url = "http://www.365mini.com/";

        this.sayHello = function(){
            document.writeln("欢迎来到" + this.name);
        };
    }

    var obj = {
        engine: "PHP"
        ,sayHi: function(){
            document.writeln("欢迎访问" + this.url);
        }
    };
    // 使用对象obj覆盖Site本身的prototype属性
    Site.prototype = obj;

    var s =  new Site();
    document.writeln( s.hasOwnProperty("name") ); // true
    document.writeln( s.hasOwnProperty("sayHello") ); // true
    // 以下属性继承自原型链,因此为false
    document.writeln( s.hasOwnProperty("engine") ); // false
    document.writeln( s.hasOwnProperty("sayHi") ); // false
    document.writeln( s.hasOwnProperty("toString") ); // false

    // 想要查看对象(包括原型链)是否具备指定的属性,可以使用in操作符
    document.writeln( "engine" in s ); // true
    document.writeln( "sayHi" in s ); // true
    document.writeln( "toString" in s ); // true
  • 相关阅读:
    杂谈
    P1441 砝码称重
    P3159 [CQOI2012]交换棋子
    P5200 [USACO19JAN]Sleepy Cow Sorting
    P5201 [USACO19JAN]Shortcut
    P5196 [USACO19JAN]Cow Poetry
    20190922UVA测试
    P4014 分配问题
    P4012 深海机器人问题
    P2050 [NOI2012]美食节
  • 原文地址:https://www.cnblogs.com/christal-11/p/5809925.html
Copyright © 2011-2022 走看看