博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【js】Object.prototype.hasOwnProperty()
阅读量:5136 次
发布时间:2019-06-13

本文共 1500 字,大约阅读时间需要 5 分钟。

hasOwnProperty() 方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性

例如:obj.hasOwnProperty(prop)

1. 所有  的对象都会有 hasOwnProperty 方法。这个方法可以用来检测一个对象是否含有特定的自身属性;和  运算符不同,该方法会忽略掉那些从原型链上继承到的属性。

     var obj = function(){     }        obj.target = function(){        }        obj.prototype.target_proto = function(){        }        console.log(obj.hasOwnProperty('target'))             console.log(obj.hasOwnProperty('target_proto'))

2. 继承到的属性全为 false 

var obj = {            target: '123'        } console.log(obj.hasOwnProperty('target'))     // true console.log(obj.hasOwnProperty('toString'))   // false console.log(obj.hasOwnProperty('hasOwnProperty'))   // false

3.  遍历对象的自身属性 

遍历一个对象的所有属性时忽略掉继承属性,这里因为for... in 循环无法遍历到属性所以如果是自身属性的属性也是无法遍历返回得到的。

var obj = function(){                     this.name = '0'        }        obj.prototype.fu = function(){               }        var objk = new obj()        console.log(objk)        Object.defineProperty(objk,'kk',{            value: 'kk',            enumerable: false        })        for(var key in objk){            if(objk.hasOwnProperty(key)){                console.log('属性' + key , '属性值' + objk[key])            }else{                console.log('未找到属性' + key)            }        }        console.log(objk.hasOwnProperty('kk'))

4. 使用 hasOwnProperty 作为属性名

由于jacascript是不保护 hasOwnProperty 属性名的,因此某个对像肯能存在这个属性名。此时需要使用 object.prototype 的属性来判断

Object.prototype.hasOwnPorperty.call(objk,'kk')

5. 如果像直接获取对象的所有属性的数组可用 来获取

本文所讨论内容多参考于  

 

转载于:https://www.cnblogs.com/yeujuan/p/9959956.html

你可能感兴趣的文章
下一代操作系统与软件
查看>>
Python IO模型
查看>>
DataGridView的行的字体颜色变化
查看>>
局域网内手机访问电脑网站注意几点
查看>>
[Serializable]的应用--注册码的生成,加密和验证
查看>>
Android-多线程AsyncTask
查看>>
LeetCode【709. 转换成小写字母】
查看>>
CF992E Nastya and King-Shamans(线段树二分+思维)
查看>>
如果没有按照正常的先装iis后装.net的顺序,可以使用此命令重新注册一下:
查看>>
linux install ftp server
查看>>
alter database databasename set single_user with rollback IMMEDIATE 不成功问题
查看>>
【题解】青蛙的约会
查看>>
autopep8
查看>>
GIT在Linux上的安装和使用简介
查看>>
Android 官方新手指导教程
查看>>
幸运转盘v1.0 【附视频】我的Android原创处女作,请支持!
查看>>
[51nod] 1199 Money out of Thin Air #线段树+DFS序
查看>>
Red and Black(poj-1979)
查看>>
安装 Express
查看>>
存储(硬件方面的一些基本术语)
查看>>