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 相关文章推荐
高性能web开发 如何加载JS,JS应该放在什么位置?
May 14 Javascript
javascript实现很浪漫的气泡冒出特效
Sep 05 Javascript
谈谈我对JavaScript中typeof和instanceof的深入理解
Dec 25 Javascript
jQuery树形插件jquery.simpleTree.js用法分析
Sep 05 Javascript
canvas实现环形进度条效果
Mar 23 Javascript
详解JavaScript中return的用法
May 08 Javascript
JavaScript实现图片本地预览功能【不用上传至服务器】
Sep 20 Javascript
Es6 Generator函数详细解析
Feb 24 Javascript
JavaScript累加、迭代、穷举、递归等常用算法实例小结
May 08 Javascript
Vue拖拽组件开发实例详解
May 11 Javascript
详解关于vue-area-linkage走过的坑
Jun 27 Javascript
JS函数内部属性之arguments和this实例解析
Oct 07 Javascript
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
浅析Yii2缓存的使用
2016/05/10 PHP
PHP串行化与反串行化实例分析
2016/12/27 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
2020/02/11 PHP
分享十五个最佳jQuery 幻灯插件和教程
2010/03/27 Javascript
javascript中的变量作用域以及变量提升详细介绍
2013/10/24 Javascript
jquery JSON的解析方式示例介绍
2014/07/27 Javascript
js实现iframe自动自适应高度的方法
2015/02/17 Javascript
jQuery获取checkboxlist的value值的方法
2015/09/27 Javascript
javaScript语法总结
2016/11/25 Javascript
详解JavaScript的内置对象
2016/12/07 Javascript
从零开始学习Node.js系列教程三:图片上传和显示方法示例
2017/04/13 Javascript
vue组件父与子通信详解(一)
2017/11/07 Javascript
初识 Vue.js 中的 *.Vue文件
2017/11/22 Javascript
vue 2.0 购物车小球抛物线的示例代码
2018/02/01 Javascript
vue里面父组件修改子组件样式的方法
2018/02/03 Javascript
vue技术分享之你可能不知道的7个秘密
2018/04/09 Javascript
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
2019/01/20 Javascript
通过实例解析vuejs如何实现调试代码
2020/07/16 Javascript
[01:07:20]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第二场 2月2日
2021/03/11 DOTA
Python与shell的3种交互方式介绍
2015/04/11 Python
Python实现希尔排序算法的原理与用法实例分析
2017/11/23 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
2019/11/26 Python
基于Python执行dos命令并获取输出的结果
2019/12/30 Python
postman和python mock测试过程图解
2020/02/22 Python
python中使用you-get库批量在线下载bilibili视频的教程
2020/03/10 Python
HTML5中FileReader接口使用方法实例详解
2017/08/26 HTML / CSS
AmazeUI 平滑滚动效果的示例代码
2020/08/20 HTML / CSS
外贸业务员岗位职责
2013/11/24 职场文书
男方父母婚礼答谢词
2014/01/25 职场文书
质检部经理岗位职责
2014/02/19 职场文书
后勤管理员岗位职责
2014/08/27 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
2014年党建工作汇报材料
2014/11/02 职场文书
2015年司机工作总结
2015/04/23 职场文书
通知怎么写?
2019/04/17 职场文书
设置IIS Express并发数
2022/07/07 Servers