广州明生堂生物科技有限公司


javascript中hasOwnProperty() 方法使用指南

网络编程 javascript中hasOwnProperty() 方法使用指南 06-22

概述

hasOwnProperty() 方法用来判断某个对象是否含有指定的自身属性。

语法
obj.hasOwnProperty(prop)

参数

•prop

•要检测的属性名称。

描述

所有继承了 Object.prototype 的对象都会从原型链上继承到 hasOwnProperty 方法,这个方法可以用来检测一个对象是否含有特定的自身属性,和 in 运算符不同,该方法会忽略掉那些从原型链上继承到的属性。

示例

例1:使用 hasOwnProperty 方法判断某对象是否含有特定的自身属性

下面的例子检测了对象 o 是否含有自身属性 prop:

o = new Object();o.prop = 'exists';function changeO() {

  o.newprop = o.prop;

  delete o.prop;}o.hasOwnProperty('prop');   

  // 返回 true

  changeO();

   o.hasOwnProperty('prop');  

   // 返回 false

例2:自身属性和继承属性的区别

下面的例子演示了 hasOwnProperty 方法对待自身属性和继承属性的区别:

o = new Object();o.prop = 'exists';o.hasOwnProperty('prop');            

 // 返回 true

 o.hasOwnProperty('toString');         

 // 返回 false

 o.hasOwnProperty('hasOwnProperty');   

 // 返回 false

例3:遍历一个对象的所有自身属性

下面的例子演示了如何在遍历一个对象的所有属性时忽略掉继承属性,注意这里 for..in 循环只会遍历可枚举属性,这通常就是我们想要的,直接使用 Object.getOwnPropertyNames() 方法也可以实现类似的需求。

var buz = {

    fog: 'stack'};

    for (var name in buz) {

    if (buz.hasOwnProperty(name)) {

        alert("this is fog (" + name + ") for sure. Value: " + buz[name]);

    }

    else {

        alert(name);

         // toString or something else    

         }}

例4: hasOwnProperty 方法有可能被遮蔽

如果一个对象拥有自己的 hasOwnProperty 方法, 则原型链上的同名方法会被遮蔽(shadowed):

var foo = {

    hasOwnProperty: function() {

        return false;

    },

    bar: 'Here be dragons'};foo.hasOwnProperty('bar'); 

    // 始终返回 false

    // 如果担心这种情况,可以直接使用原型链上真正的 hasOwnProperty 方法

    ({}).hasOwnProperty.call(foo, 'bar'); 

    // true

    Object.prototype.hasOwnProperty.call(foo, 'bar'); 

    // true

以上就是本文所述的全部内容了,希望大家能够喜欢。

Python脚本后台运行的几种方式
一个用python写的监控脚本test1.py,用whileTrue方式一直运行,在ssh远程(使用putty终端)时通过以下命令启动脚本:pythontest1.py&现在脚本正常运行,通过ps

浅谈JavaScript事件的属性列表
HTML4.0的新特性之一是能够使HTML事件触发浏览器中的行为,比如当用户点击某个HTML元素时启动一段JavaScript。下面是一个属性列表,可将之插入HTML标签以

ECMAScript 5中的属性描述符详解
属性描述符是ES5中新增的概念,其作用是给对象的属性增加更多的控制。Object.defineProperty要研究属性描述符,首先要谈谈Object.defineProperty方法。这个方


编辑:广州明生堂生物科技有限公司

标签:属性,方法,对象,原型,遍历