
js属性对象的hasOwnProperty方法
发布日期:2021-05-06 20:27:00
浏览次数:21
分类:精选文章
本文共 571 字,大约阅读时间需要 1 分钟。
判断自生属性与继承属性
在JavaScript中,自生属性和继承属性是两个不同的概念。自生属性是直接属于对象的属性,而继承属性则是通过对象的 prototype 链继承下来的属性。
举例来说,函数foo定义了name属性和一个方法sayHi。这个方法是直接在对象本身的属性,而不是通过 prototype 继承的。因此,当我们创建一个foo的实例,如myPro时,myPro.name是自生属性,myPro.hasOwnProperty('name')返回true。而myPro.hasOwnProperty('sayGoodBy')返回false,因为sayGoodBy是在foo的 prototype 上定义的,属于继承属性。
判断自生属性是否存在
创建一个对象o,并通过o.newprop = o.prop添加了newprop属性。然后在changeO函数中删除了o.prop。因此,o.hasOwnProperty('prop')返回false,说明prop已经被删除。
遍历一个对象的所有自身属性
使用for...in循环可以枚举对象的所有属性,包括继承属性。为了只显示自生属性,可以使用hasOwnProperty()方法来过滤继承属性。例如,在下面的代码中,fog是自生属性,而toString是继承属性,因此会显示fog的值。
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月22日 00时49分03秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
java教师管理系统(ssm)
2023-01-24
Elasticsearch面试题
2023-01-24
Java基础:按位运算符
2023-01-29
LibTorch之激活函数层
2023-01-31
libvirt TLS
2023-01-31
License Server上找不到指定版本的XenApp License
2023-01-31
License授权
2023-01-31
liferay 去掉 portlet:actionUrl 跳转时的message
2023-01-31
Liferay7 BPM门户开发之21: 理解消息总线(Message Bus)体系
2023-01-31
Light OJ 1005
2023-01-31
linglong扫描系统 JWT密钥硬编码 登录绕过漏洞复现
2023-01-31
Linq 分组(group by)求和(sum)并且按照分隔符(join)分割列数据
2023-01-31
Linq 合并多个查询条件
2023-01-31
LINQ/EF/Lambda 比较字符串日期时间大小
2023-01-31
linq实现分页加组合查询
2023-01-31
LintCode_114 不同的路径,115 不同的路径 II
2023-01-31