时间:2021-05-26
本文实例讲述了JS对象属性的检测与获取操作。分享给大家供大家参考,具体如下:
1.1 in运算符
in运算符用于检查对象是否包含某个属性(注意,检查的是键名,不是键值), 如果包含就返回true,否则返回false
var obj = { p: 1 }'p' in obj // true'toString' in obj // true上面代码中,obj对象上有一个p属性,所以使用in运算符时,得到true,但toString并没有在obj对象上,为什么也返回true呢,这是因为in运算符,不能识别哪些属性是对象自身的,哪些是继承的。因为toString是继承自obj的原型对象,所以会返回true。
1.2 for … in 循环
for … in 循环用来遍历一个对象的全部属性。
var obj = {a: 1, b: 2, c: 3};for (var i in obj) { console.log(obj[i]);}for … in 循环有两个使用注意点
如果想得到自身的属性,需要结合hasOwnProperty方法,在循环内部判断一下,某个属性是否为对象自身的属性。
var person = { name: '老张' };for (var key in person) { if (person.hasOwnProperty(key)) { console.log(key); }}想要得到自身的属性还有另外两种方法:
es5:
利用Object.getOwnPropertyNames(obj)
var person = { name: '老张' }var props = Object.getOwnPropertyNames(person)es6:
利用Object.keys(obj)
var person = { name: '老张' }var props = Object.keys(person)感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了js简单遍历获取对象中的属性值的方法。分享给大家供大家参考,具体如下:www.jb51.netJS遍历json属性值//js获取对象中的属性值va
本文实例讲述了js对象基础用法。分享给大家供大家参考。具体分析如下:js对象在本质上与数组相同,都是存放一组数据。但创建方法有所不同,对象需要添加属性。这里简单
本文实例讲述了C#通过属性名字符串获取、设置对象属性值操作.分享给大家供大家参考,具体如下:#通过反射获取对象属性值并设置属性值0、定义一个类publiccla
与in操作符相比,forin在循环对象的属性时也会遍历原型链,forin不会读取不可枚举属性,如数组的length属性。小结当检测某个对象是否拥有某个属性时,h
本文实例讲述了JavaScript通过prototype给对象定义属性的用法。分享给大家供大家参考。具体分析如下:下面的JS代码定义了movie对象。在使用对象