javascript检测对象中是否存在某个属性判断方法小结


Posted in Javascript onMay 19, 2013

检测对象中属性的存在与否可以通过几种方法来判断。
1.使用in关键字
该方法可以判断对象的自有属性和继承来的属性是否存在。

var o={x:1}; 
"x" in o; //true,自有属性存在 
"y" in o; //false 
"toString" in o; //true,是一个继承属性

2.使用对象的hasOwnProperty()方法
该方法只能判断自有属性是否存在,对于继承属性会返回false。
var o={x:1}; 
o.hasOwnProperty("x");  //true,自有属性中有x 
o.hasOwnProperty("y"); 
 //false,自有属性中不存在y 
o.hasOwnProperty("toString"); //false,这是一个继承属性,但不是自有属性

3.用undefined判断
自有属性和继承属性均可判断。
var o={x:1}; 
o.x!==undefined; //true 
o.y!==undefined; //false 
o.toString!==undefined //true

该方法存在一个问题,如果属性的值就是undefined的话,该方法不能返回想要的结果,如下。
var o={x:undefined}; 
o.x!==undefined; //false,属性存在,但值是undefined 
o.y!==undefined; //false 
o.toString!==undefined //true

4.在条件语句中直接判断
var o={}; 
if(o.x) o.x+=1; //如果x是undefine,null,false," ",0或NaN,它将保持不变
Javascript 相关文章推荐
仅用[]()+!等符号就足以实现几乎任意Javascript代码
Mar 01 Javascript
js实现拖拽效果
Feb 12 Javascript
JQuery插件Quicksand实现超炫的动画洗牌效果
May 03 Javascript
浅谈jQuery构造函数分析
May 11 Javascript
Node.js刷新session过期时间的实现方法推荐
May 18 Javascript
在web中js实现类似excel的表格控件
Sep 01 Javascript
ion content 滚动到底部会遮住一部分视图的快速解决方法
Sep 06 Javascript
jQuery-mobile事件监听与用法详解
Nov 23 Javascript
vue利用better-scroll实现轮播图与页面滚动详解
Oct 20 Javascript
微信小程序canvas拖拽、截图组件功能
Sep 04 Javascript
如何在selenium中使用js实现定位
Aug 18 Javascript
Vue详细的入门笔记
May 10 Vue.js
javascript之typeof、instanceof操作符使用探讨
May 19 #Javascript
关于innerHTML后丢失动态绑定的EVENT问题解决方法
May 19 #Javascript
JS特殊函数(Function()构造函数、函数直接量)区别介绍
May 19 #Javascript
JavaScript中几个重要的属性(this、constructor、prototype)介绍
May 19 #Javascript
js函数中onmousedown和onclick的区别和联系探讨
May 19 #Javascript
下拉菜单点击实现连接跳转功能的js代码
May 19 #Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
May 19 #Javascript
You might like
php Hex RGB颜色值互换的使用
2013/05/10 PHP
PHP中的Streams详细介绍
2014/11/12 PHP
jQuery contains过滤器实现精确匹配使用方法
2013/04/12 Javascript
jquery win 7透明弹出层效果的简单代码
2013/08/06 Javascript
javascript使用avalon绑定实现checkbox全选
2015/05/06 Javascript
浅析Bootstrap验证控件的使用
2016/06/23 Javascript
常用Javascript函数与原型功能收藏(必看篇)
2016/10/09 Javascript
jQuery grep()方法详解及实例代码
2016/10/30 Javascript
Angular4 中常用的指令入门总结
2017/06/12 Javascript
vue.js如何将echarts封装为组件一键使用详解
2017/10/10 Javascript
浅谈AngularJS中$http服务的简单用法
2018/05/15 Javascript
解决echarts 一条柱状图显示两个值,类似进度条的问题
2020/07/20 Javascript
vant 中van-list的用法说明
2020/11/11 Javascript
[01:45]DOTA2新英雄“神谕者”全方位展示
2014/11/21 DOTA
Python的collections模块中namedtuple结构使用示例
2016/07/07 Python
Python2.7.10以上pip更新及其他包的安装教程
2018/06/12 Python
Python实现常见的回文字符串算法
2018/11/14 Python
Python实用工具FuckIt.py介绍
2019/07/02 Python
python将字符串list写入excel和txt的实例
2019/07/20 Python
Python创建一个元素都为0的列表实例
2019/11/28 Python
关于html字符串正则判断和匹配的具体使用
2019/12/12 HTML / CSS
html5 canvas手势解锁源码分享
2020/01/07 HTML / CSS
英国最大的宠物食品和宠物用品网上零售商: Zooplus
2016/08/01 全球购物
Java文件和目录(IO)操作
2014/08/26 面试题
工程地质勘察专业大学生求职信
2013/10/13 职场文书
18岁生日感言
2014/01/12 职场文书
俄罗斯商务邀请函
2014/01/26 职场文书
大学生未来职业生涯规划书
2014/02/15 职场文书
《颐和园》教学反思
2014/02/26 职场文书
国贸专业自荐信范文
2014/03/02 职场文书
经理秘书求职自荐信范文
2014/03/23 职场文书
8和9的加减法教学反思
2014/05/01 职场文书
司法所长先进事迹
2014/06/02 职场文书
竞聘演讲稿开场白
2014/08/25 职场文书
消防安全培训工作总结
2015/10/23 职场文书
使用python生成大量数据写入es数据库并查询操作(2)
2022/09/23 Python