• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法

JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了hasOwnProperty,是否是对象,自有属性等相关知识,希望对您有所帮助

这篇文章主要介绍了JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


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

hasOwnProperty() 方法用来检测一个属性是否是对象的自有属性,而不是从原型链继承的。如果该属性是自有属性,那么返回 true,否则返回 false。换句话说,hasOwnProperty() 方法不会检测对象的原型链,只会检测当前对象本身,只有当前对象本身存在该属性时才返回 true。

例如,在下面自定义类型中,this.name 就表示对象的自有属性,而原型对象中的 name 属性就是继承属性。

function F() { //自定义数据类型    this.name = "自有属性";}F.prototype.name = "继承属性";

hasOwnProperty() 的语法格式如下:

object.hasOwnProperty(propertyName);

参数说明:propertyName 参数表示要检测的属性名称。

返回值:返回一个布尔值。如果 propertyName 是自有属性,那么返回 true,否则返回 false。


示例1

针对上面的自定义类型,可以实例化对象,然后判定当前对象调用的属性 name 是什么类型。

var f = new F(); //实例化对象console.log(f.hasOwnProperty("name")); //返回true,说明当前调用的 name是自有属性console.log(f.name); //返回字符串“自有属性”

凡是构造函数的原型属性(原型对象包含的属性),都是继承属性,使用 hasOwnProperty() 方法检测时,都会返回 false。但是,对于原型对象本身来说,这些原型属性又是原型对象的自有属性,所以返回值又是 true。


示例2

在下面示例中,演示了 toString() 方法对于 Date 对象来说是继承属性,但是对于 Date 构造函数的原型对象来说,则是它的自有属性。

var d = Date;console.log(d.hasOwnProperty("toString")); //返回false,说明toString()是Date的自有属性var d = Date.prototype;console.log(d.hasOwnProperty("toString")); //返回true,说明toString()是Date.prototype属性

hasOwnProperty() 方法只能判断指定对象中是否包含指定名称的属性,无法检查对象原型链中是否包含某个属性,所以能够检测出来的属性必须是对象成员。


示例3

下面示例演示了 hasOwnProperty() 方法所能检测的属性范围。

var o = { //对象直接量    o1 : { //子对象直接量        o2 : { //孙子对象直接量            name : 1 //孙子对象直接量的属性        }    }};console.log(o.hasOwnProperty("o1")); //返回true,说明o1是o的自有属性console.log(o.hasOwnProperty("o2")); //返回false,说明o2不是o的自有属性console.log(o.o1.hasOwnProperty("o2")); //返回true,说明o2是o1的自有属性console.log(o.o1.hasOwnProperty("name")); //返回false,说明name不是o1的自有属性console.log(o.o1.hasOwnProperty("name")); //返回true,说明name不是o2的自有属性

到此这篇关于JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法的文章就介绍到这了。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法

相关文章

  • 2022-04-29jQuery如何判断css是否存在
  • 2022-04-29搜索引擎优化10大黄金法则
  • 2022-04-29Photoshop绘制杂色质感椭圆极光网页按钮
  • 2022-04-29Photoshop制作透明大气的导航按钮
  • 2022-04-29DedeCMS V6 发布!织梦CMS V6 新版上线
  • 2022-04-29Photoshop制作立体效果的草莓艺术字
  • 2022-04-29Photoshop制作简洁时尚的形象主页
  • 2022-04-29Illustrator绘制一只超萌的企鹅
  • 2022-04-29wordpress和phpcms该怎么选择
  • 2022-04-29Linux怎么安装ffmpeg-php扩展

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 四种方式快速实现上拉触底加载效果
    • 搜索引擎优化技巧_英文关键字篇
    • WordPress隐藏部分内容,评论后可见
    • 浅谈css grid比Bootstrap更适合创建布局的原因
    • PHP如何使用日期时间类Carbon
    • thinkphp增加每页显示条数的方法
    • 由JS实现的织梦cms版3D球面标签云 效果与flash版的
    • 解决网站打开出现"SEC_ERROR_EXPIRED_CERTIFICATE"问题
    • 介绍Mysql位运算简化一对多关系
    • Photoshop设计立体效果的网站推荐图标

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有