JS中hasOwnProperty方法用法简介

 更新时间:2024年01月04日 15:01:23   作者:前端不加班  
hasOwnProperty(propertyName)方法 是用来检测属性是否为对象的自有属性,如果是,返回true,否者false; 参数propertyName指要检测的属性名,这篇文章给大家介绍JS中hasOwnProperty方法用法简介,感兴趣的朋友一起看看吧

JS中hasOwnProperty方法用法简介

hasOwnProperty表示是否有自己的属性。这个方法会查找一个对象是否有某个属性,但是不会去查找它的原型链。

var obj = {
    a: 1,
    fn: function(){
    },
    c:{
        d: 5
    }
};
console.log(obj.hasOwnProperty('a'));  // true
console.log(obj.hasOwnProperty('fn'));  // true
console.log(obj.hasOwnProperty('c'));  // true
console.log(obj.c.hasOwnProperty('d'));  // true
console.log(obj.hasOwnProperty('d'));  // false, obj对象没有d属性
var str = new String();
// split方法是String这个对象的方法,str对象本身是没有这个split这个属性的
console.log(str.hasOwnProperty('split'));  // false
console.log(String.prototype.hasOwnProperty('split'));  // true

hasOwnProperty() 方法详解

hasOwnProperty(propertyName)方法 是用来检测属性是否为对象的自有属性,如果是,返回true,否者false; 参数propertyName指要检测的属性名;

用法:object.hasOwnProperty(propertyName) // true/false

hasOwnProperty() 方法是 Object 的原型方法(也称实例方法),它定义在 Object.prototype 对象之上,所有 Object 的实例对象都会继承 hasOwnProperty() 方法。

hasOwnProperty() 只会检查对象的自有属性,对象原形上的属性其不会检测;但是对于原型对象本身来说,这些原型上的属性又是原型对象的自有属性,所以原形对象也可以使用hasOwnProperty()检测自己的自有属性;

let obj = {
    name:'张睿',
    age:18,
    eat:{
        eatname:'面条',
        water:{
            watername:'农夫山泉'
        }
    }
}
console.log(obj.hasOwnProperty('name')) //true
console.log(obj.hasOwnProperty('age'))  //true
console.log(obj.hasOwnProperty('eat'))  //true
console.log(obj.hasOwnProperty('eatname'))  //false
console.log(obj.hasOwnProperty('water'))  //false
console.log(obj.hasOwnProperty('watername'))  //false
console.log(obj.eat.hasOwnProperty('eatname'))  //true
console.log(obj.eat.hasOwnProperty('water'))  //true
console.log(obj.eat.hasOwnProperty('watername'))  //false
console.log(obj.eat.water.hasOwnProperty('watername'))  //true

到此这篇关于JS中hasOwnProperty方法用法简介的文章就介绍到这了,更多相关js hasOwnProperty用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用js在layui中实现上传图片压缩

    使用js在layui中实现上传图片压缩

    这篇文章主要介绍了使用js在layui中实现上传图片压缩,layui 是一款采用自身模块规范编写的前端 UI 框架,js上传图片压缩百度有很多方法,,需要的朋友可以参考下
    2019-06-06
  • JS Date时间格式化的方法

    JS Date时间格式化的方法

    这篇文章主要介绍了JS Date时间格式化的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • js实现无缝滚动双图切换效果

    js实现无缝滚动双图切换效果

    这篇文章主要为大家详细介绍了js实现无缝滚动双图切换效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • js判断价格,必须为数字且不能为负数的实现方法

    js判断价格,必须为数字且不能为负数的实现方法

    下面小编就为大家带来一篇js判断价格,必须为数字且不能为负数的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • H5如何实现唤起APP及调试bug解决

    H5如何实现唤起APP及调试bug解决

    这篇文章主要为大家介绍了H5如何实现唤起APP及调试bug解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • js实现同一页面多个运动效果的方法

    js实现同一页面多个运动效果的方法

    这篇文章主要介绍了js实现同一页面多个运动效果的方法,涉及javascript操作页面元素运动效果的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • D3.js实现力向导图的绘制教程详解

    D3.js实现力向导图的绘制教程详解

    力向导图是绘图的一种算法,实现了用以模拟粒子物理运动的 velocity Verlet 数值积分器。本文将利用D3.js实现力向导图的绘制,需要的可以参考一下
    2022-11-11
  • JavaScript函数中关于valueOf和toString的理解

    JavaScript函数中关于valueOf和toString的理解

    本文给大家介绍JavaScript函数中关于valueOf和toString的理解,简单的说就是需要转换为字符串时,会调用toString,需要转换为数字时需要调用valueOf。对js valueof tostring知识感兴趣的朋友一起学习吧
    2016-06-06
  • JavaScript实现生成动态表格和动态效果的方法详解

    JavaScript实现生成动态表格和动态效果的方法详解

    这篇文章主要介绍了如何通过JavaScript语言实现动图表格的生成以及动态效果的实现,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-02-02
  • 小程序Request的另类用法详解

    小程序Request的另类用法详解

    这篇文章主要介绍了小程序Request的另类用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08

最新评论