• 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()方法检测一个属性是否是对象的自有属性的方法

作者:站长图库 字体:[增加 减小] 来源:互联网

站长图库向大家介绍了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()方法检测一个属性是否是对象的自有属性的方法

相关文章

  • Photoshop使用画笔模拟在水雾玻璃上写字
  • Photoshop制作个性的透明玻璃效果牌
  • YII如何将对象转化为数组或直接输出为json格式
  • Photoshop制作破碎玻璃字体效果教程
  • PS制作非常逼真的针织吊牌
  • CSS如何实现元素不随滚动条滚动
  • Wordpress关闭所有评论的方法
  • Illustrator CS5绘制逼真的红辣椒教程
  • Photoshop设计端午节绿色艺术字教程
  • 织梦DedeCMS系统列表页调用TAG标签并带上链接的实

文章分类

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

最近更新的内容

    • ThinkPHP5跟laravel的区别有哪些
    • 如何优化jQuery性能?优化方法汇总
    • PHP获取QQ用户昵称+头像API接口代码
    • JS保留两位小数的函数有哪些
    • CorelDRAW实例教程:绘制创意风格的游戏海报教程
    • 帝国CMS二次开发付款后才能查看内容
    • Photoshop制作超强科技感立体艺术字
    • 如何解决mysql 5.6 中文 乱码问题
    • 遇到的uni-app的坑(uni-easyinput清空值,datetimerange置空)
    • PhotoShop打造腐蚀锈迹钢铁文字特效教程

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

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