欢迎来到代码驿站!

JavaScript代码

当前位置:首页 > 网页前端 > JavaScript代码

JS对象属性的检测与获取操作实例分析

时间:2021-07-12 13:29:06|栏目:JavaScript代码|点击:

本文实例讲述了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 循环有两个使用注意点

  1. 它遍历的是对象所有可遍历的属性,会跳过不可遍历的属性。
  2. 它不仅遍历对象自身的属性,还遍历继承的属性。

如果想得到自身的属性,需要结合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程序设计有所帮助。

上一篇:原生js三级联动的简单实现代码

栏    目:JavaScript代码

下一篇:新浪滑门技术

本文标题:JS对象属性的检测与获取操作实例分析

本文地址:http://www.codeinn.net/misctech/156126.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有