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


Posted in Javascript onMarch 17, 2020

本文实例讲述了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.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
jquery 图片预加载 自动等比例缩放插件
Dec 25 Javascript
jQuery aminate方法定位到页面具体位置
Dec 26 Javascript
JS中innerHTML和pasteHTML的区别实例分析
Jun 22 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
Jul 22 Javascript
jQuery中常用动画效果函数(日常整理)
Sep 17 Javascript
JS实现复选框的全选和批量删除功能
Apr 05 Javascript
iview table render集成switch开关的实例
Mar 14 Javascript
jQuery实现浏览器之间跳转并传递参数功能【支持中文字符】
Mar 28 jQuery
webpack分离css单独打包的方法
Jun 12 Javascript
使用D3.js+Vue实现一个简单的柱形图
Aug 05 Javascript
详解离线安装npm包的几种方法
Nov 25 Javascript
微信小程序如何获取用户收货地址
Nov 27 Javascript
JS前端模块化原理与实现方法详解
Mar 17 #Javascript
javascript中innerHTML 获取或替换html内容的实现代码
Mar 17 #Javascript
Vue中keep-alive 实现后退不刷新并保持滚动位置
Mar 17 #Javascript
用js编写留言板
Mar 17 #Javascript
Vue脚手架编写试卷页面功能
Mar 17 #Javascript
基于JavaScript实现留言板功能
Mar 16 #Javascript
JS实现简易留言板(节点操作)
Mar 16 #Javascript
You might like
微信网页授权(OAuth2.0) PHP 源码简单实现
2016/08/29 PHP
导航跟随滚动条置顶移动示例代码
2013/09/11 Javascript
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
javascript快速排序算法详解
2014/09/17 Javascript
a标签的href与onclick事件的区别详解
2014/11/12 Javascript
完美兼容IE,chrome,ff的设为首页、加入收藏及保存到桌面js代码
2014/12/17 Javascript
JS动态修改图片的URL(src)的方法
2015/04/01 Javascript
JS实现模拟风力的雪花飘落效果
2015/05/13 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
2015/09/18 Javascript
jquery对Json的各种遍历方法总结(必看篇)
2016/09/29 Javascript
JS使用正则实现去掉字符串左右空格的方法
2016/12/27 Javascript
详解JavaScript中this的指向问题
2017/01/20 Javascript
基于React+Redux的SSR实现方法
2018/07/03 Javascript
在微信小程序中保存网络图片
2019/02/12 Javascript
angular6根据environments配置文件更改开发所需要的环境的方法
2019/03/06 Javascript
jsonp实现百度下拉框功能的方法分析
2019/05/10 Javascript
JS 事件机制完整示例分析
2020/01/15 Javascript
python爬虫 基于requests模块的get请求实现详解
2019/08/20 Python
python爬虫 正则表达式解析
2019/09/28 Python
python用类实现文章敏感词的过滤方法示例
2019/10/27 Python
python爬取微博评论的实例讲解
2021/01/15 Python
Python图像处理之膨胀与腐蚀的操作
2021/02/07 Python
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
波兰最大的度假胜地和城市公寓租赁运营商:Sun & Snow
2018/10/18 全球购物
Zipadee-Zip襁褓过渡毯:Sleeping Baby
2018/12/30 全球购物
日本酒店、民宿、温泉旅馆、当地旅行团中文预订:e路东瀛
2019/12/09 全球购物
数学教学随笔感言
2014/02/17 职场文书
理想演讲稿范文
2014/05/21 职场文书
销售目标责任书
2014/07/23 职场文书
化验员岗位职责
2015/02/14 职场文书
我的中国梦主题教育活动总结
2015/05/07 职场文书
2016年12月份红领巾广播稿
2015/12/21 职场文书
2016年“12.3”国际残疾人日活动总结
2016/04/01 职场文书
《岳阳楼记》原文、译文赏析
2019/09/10 职场文书
python机器学习创建基于规则聊天机器人过程示例详解
2021/11/02 Python