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 相关文章推荐
jQuery 1.4 15个你应该知道的新特性(译)
Jan 24 Javascript
JavaScript之编码规范 推荐
May 23 Javascript
js实现仿阿里巴巴城市选择框效果实例
Jun 24 Javascript
jQuery对checkbox 复选框的全选全不选反选的操作
Aug 09 Javascript
BootStrap实现手机端轮播图左右滑动事件
Oct 13 Javascript
详解vue组件化开发-vuex状态管理库
Apr 10 Javascript
Node.js中 __dirname 的使用介绍
Jun 19 Javascript
js 监控iframe URL的变化实例代码
Jul 12 Javascript
vue计算属性computed的使用方法示例
Mar 13 Javascript
jquery实现点击弹出对话框
Feb 08 jQuery
vue-cli点击实现全屏功能
Mar 07 Javascript
jQuery实现查看图片功能
Dec 01 jQuery
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
多文件上传的例子
2006/10/09 PHP
一周学会PHP(视频)Http下载
2006/12/12 PHP
谈谈新手如何学习PHP
2006/12/23 PHP
PHP页面转UTF-8中文编码乱码的解决办法
2015/10/20 PHP
基于PHPexecl类生成复杂的报表表头示例
2016/10/14 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
2017/07/27 PHP
javascript 写类方式之四
2009/07/05 Javascript
JavaScript 常见对象类创建代码与优缺点分析
2009/12/07 Javascript
基于Jquery的动态添加控件并取值的实现代码
2010/09/24 Javascript
js全选实现和判断是否有复选框选中的方法
2015/02/17 Javascript
javascript模拟php函数in_array
2015/04/27 Javascript
关于JavaScript的变量的数据类型的判断方法
2015/08/14 Javascript
在JavaScript中对HTML进行反转义详解
2016/05/18 Javascript
详解react-native WebView 返回处理(非回调方法可解决)
2018/02/27 Javascript
vue将时间戳转换成自定义时间格式的方法
2018/03/02 Javascript
VUE-cli3使用 svg-sprite-loader
2018/10/20 Javascript
[01:56]无止竞 再出发——中国军团出征2017年DOTA2国际邀请赛
2017/07/05 DOTA
[01:42]DOTA2 – 虚无之灵
2019/08/25 DOTA
[39:46]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第二场 11.25
2020/11/25 DOTA
Python3实现生成随机密码的方法
2014/08/23 Python
Python外星人入侵游戏编程完整版
2020/03/30 Python
python使用super()出现错误解决办法
2017/08/14 Python
pycharm修改文件的默认打开方式的步骤
2019/07/29 Python
Python单链表原理与实现方法详解
2020/02/22 Python
使用Keras建立模型并训练等一系列操作方式
2020/07/02 Python
解决阿里云邮件发送不能使用25端口问题
2020/08/07 Python
用python爬虫批量下载pdf的实现
2020/12/01 Python
CSS3实现苹果手机解锁的字体闪亮效果示例
2021/01/05 HTML / CSS
中邮全球便购:中国邮政速递物流
2017/03/04 全球购物
银行求职信个人范文
2013/12/16 职场文书
转党组织关系介绍信
2014/01/08 职场文书
给同事的道歉信
2014/01/11 职场文书
食堂标语大全
2014/06/11 职场文书
观看信仰心得体会
2014/09/04 职场文书
2014年国庆节庆祝建国65周年比赛演讲稿
2014/09/21 职场文书
国防教育标语
2014/10/08 职场文书