zoukankan      html  css  js  c++  java
  • JavaScript 对象属性和 hasOwnProperty 方法

    当为对象实例添加一个属性时,他会覆盖该对象的原型中的具有相同属性名的属性,当我们访问该对象的属性时首先访问的是该对象实例中的属性,如果该属性不存在则访问其原型中的属性。

    我们可以利用hasOwnProperty方法 来识别我们的属性是在对象实例里,还是在该对象的原型(Prototype)里。

    当你查看的属性在对象里时则返回 (true)否则即在(prototype)里返回的是 false;

    只有当我们删除 该属性时,才能访问到 其原型里德属性。

    例如:

    <script type="text/javascript">
    function Person()
    {
     Person.prototype.sex="男";
     Person.prototype.name="我的名字";
     Person.prototype.age=26;
    }
    var p=new Person();
    p.name="哈哈";

    alert(p.name);//哈哈
    alert(p.hasOwnProperty("name"));//true;
    delete p.name;

    alert(p.name);//我的名字;

    alert(p.hasOwnProperty("name"));//false;


    alert(Person.prototype.constructor);//弹出的是该对象的构造函数 原型中的 constructor属性指向的是 其所在对象的构造函数;

    </script>

    所以我们利用hasOwnProperty()方法就可知道什么时候访问的是对象的属性,什么时候访问的是其原型中的属性;

  • 相关阅读:
    TCP通信 小例子
    Socket的简单使用
    Redis练习
    资料
    Redis封装帮助类
    使用Redis的基本操作
    Redis配置主从
    Redis基本设置
    clientHeight ,offsetHeight,style.height,scrollHeight的区别与联系
    服务器操作之如何绑定网站
  • 原文地址:https://www.cnblogs.com/lovejunxia/p/2017879.html
Copyright © 2011-2022 走看看