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

  • 相关阅读:
    Palindrome Partitioning
    Minimum Path Sum
    Maximum Depth of Binary Tree
    Minimum Depth of Binary Tree
    Unique Binary Search Trees II
    Unique Binary Search Trees
    Merge Intervals
    Merge Sorted Array
    Unique Paths II
    C++ Primer Plus 笔记第九章
  • 原文地址:https://www.cnblogs.com/tylerdonet/p/4651820.html
Copyright © 2011-2022 走看看