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用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • javascript 页面划词搜索JS

    javascript 页面划词搜索JS

    这个脚本是网上的代码修改的,兼容各主流浏览器,优化页面异步加载的文字的检索提示框定位,根据选择文字位置与屏幕尺寸计算检索提示框定位。
    2009-09-09
  • 微信开发之调起摄像头、本地展示图片、上传下载图片实例

    微信开发之调起摄像头、本地展示图片、上传下载图片实例

    这篇文章主要介绍了微信开发之调起摄像头、本地展示图片、上传下载图片实例,具有一定的参考价值有兴趣的可以了解一下。
    2016-12-12
  • js实现精确到毫秒的倒计时效果

    js实现精确到毫秒的倒计时效果

    这篇文章主要为大家详细介绍了js实现精确到毫秒的倒计时效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • javascript实现富文本框选中对齐的思路与代码

    javascript实现富文本框选中对齐的思路与代码

    最近在项目中经常遇到使用富文本框的情况,下面这篇文章主要给大家介绍了关于javascript实现富文本框选中对齐的思路与代码,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • three.js绘制地球、飞机与轨迹的效果示例

    three.js绘制地球、飞机与轨迹的效果示例

    Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象。下面这篇文章主要给大家介绍了利用three.js如何绘制地球、飞机与轨迹的效果,文中给出了详细的示例代码,需要的朋友们可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • JavaScript 克隆数组最简单的方法

    JavaScript 克隆数组最简单的方法

    js 树组复制方法
    2009-02-02
  • javascript 数据结构的题

    javascript 数据结构的题

    面试题是3个数据结构的题,可以用java/c/c++/python实现,靠,js也能实现,鄙视js?我上机就用js写的,虽说肯定没戏,但js我挺。
    2008-07-07
  • 解读ES6中class关键字

    解读ES6中class关键字

    这篇文章主要介绍了ES6中class关键字,class是es6引入的最重要特性之一。本文通过实例代码给大家详解,需要的朋友可以参考下
    2017-11-11
  • JavaScript设计模式---单例模式详解【四种基本形式】

    JavaScript设计模式---单例模式详解【四种基本形式】

    这篇文章主要介绍了JavaScript设计模式---单例模式,结合实例形式详细分析了JavaScript设模式中单例模式的四种基本形式定义与使用方法,需要的朋友可以参考下
    2020-05-05
  • 20行JS代码实现粘贴板复制功能

    20行JS代码实现粘贴板复制功能

    本文给大家分析20行JS代码实现粘贴板功能,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-02-02

最新评论