当前位置: 首页 > 编程笔记 >

javascript中hasOwnProperty() 方法使用指南

越扬
2023-03-14
本文向大家介绍javascript中hasOwnProperty() 方法使用指南,包括了javascript中hasOwnProperty() 方法使用指南的使用技巧和注意事项,需要的朋友参考一下

概述

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

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

 类似资料:
  • 本文向大家介绍angularJS 中$scope方法使用指南,包括了angularJS 中$scope方法使用指南的使用技巧和注意事项,需要的朋友参考一下 以上就是关于angularJS 中$scope方法使用指南的全部内容了,希望大家能够喜欢。

  • 本文向大家介绍angularJS 中$attrs方法使用指南,包括了angularJS 中$attrs方法使用指南的使用技巧和注意事项,需要的朋友参考一下 这里给大家分享的是一个angularJS 中$attrs方法的使用示例: 本文内容就到这里了,希望大家能对angularJS 中$attrs的使用有了新的认识,希望大家能够喜欢本文。

  • 本文向大家介绍javascript中setTimeout使用指南,包括了javascript中setTimeout使用指南的使用技巧和注意事项,需要的朋友参考一下 javascript中setTimeout使用指南 以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 本文向大家介绍jQuery中hover方法和toggle方法使用指南,包括了jQuery中hover方法和toggle方法使用指南的使用技巧和注意事项,需要的朋友参考一下 jQuery提供一些方法(如:toggle)将两种事件效果合并到一起,比如:mouseover、mouseout;keyup、keydown等 1、hover函数     hover(over,out)一个模仿悬停事件(鼠标移动

  • 本文向大家介绍web.config使用方法指南,包括了web.config使用方法指南的使用技巧和注意事项,需要的朋友参考一下 <connectionStrings configSource="db.config"/> 外部文件db.config: 具体格式 <节点名 configSource="配置文件路径"/> 注意点 1.如果指定了configSource,就以外部文件为准,web.conf

  • 对于某些值,调用会引发错误。 让我们检查以下代码: 除了使用