zoukankan      html  css  js  c++  java
  • javascript中的hasOwnProperty和isPrototypeOf

    hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。
    isPrototypeOf是用来判断要检查其原型链的对象是否存在于指定对象实例中,是则返回true,否则返回false。

    function siteAdmin(nickName,siteName){
                this.nickName=nickName;
                this.siteName=siteName;
            }
            siteAdmin.prototype.showAdmin = function() {
                alert(this.nickName+"是"+this.siteName+"的站长!")
            };
            siteAdmin.prototype.showSite = function(siteUrl) {
                this.siteUrl=siteUrl;
                return this.siteName+"的地址是"+this.siteUrl;
            };
            var matou=new siteAdmin("愚人码头","WEB前端开发");
            var matou2=new siteAdmin("愚人码头","WEB前端开发");
            matou.age="30";
    //      matou.showAdmin();
    //      alert(matou.showSite("http://www.css88.com/"));
            alert(matou.hasOwnProperty("nickName"));//true
            alert(matou.hasOwnProperty("age"));//true
            alert(matou.hasOwnProperty("showAdmin"));//false
            alert(matou.hasOwnProperty("siteUrl"));//false
            alert(siteAdmin.prototype.hasOwnProperty("showAdmin"));//true
            alert(siteAdmin.prototype.hasOwnProperty("siteUrl"));//false
            alert(siteAdmin.prototype.isPrototypeOf(matou))//true
            alert(siteAdmin.prototype.isPrototypeOf(matou2))//true

    1 for in可以获取object的所有属性,包括自定义属性以及原型链属性。

    for(var attr in object){

      console.log(attr+":"object[attr]);

    }

    2 hasOwnProperty()只能获取自定义属性,无法获取原型链属性。

    “str”.hasOwnProperty("split");//false

    String.property.hasOwnProperty("split");//true

  • 相关阅读:
    【博弈】UVA10561 Treblecross
    2021牛客暑期多校训练营2 部分题解
    2021牛客暑期多校训练营1 部分题解
    变量
    第六次作业
    第五次作业
    第四次作业
    第三次作业
    第二次作业
    c#下载网页源码的两种方法
  • 原文地址:https://www.cnblogs.com/tylerdonet/p/4651820.html
Copyright © 2011-2022 走看看