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 相关文章推荐
JS关键字变色实现思路及代码
Feb 21 Javascript
Jquery 表单验证类介绍与实例
Jun 09 Javascript
用简洁的jQuery方法toggleClass实现隔行换色
Oct 22 Javascript
jquery中获取元素里某一特定子元素的代码
Dec 02 Javascript
微信小程序 wx.request(object) API详解及实例代码
Sep 30 Javascript
基于BootStrap栅格栏系统完成网站底部版权信息区
Dec 23 Javascript
js canvas实现放大镜查看图片功能
Jun 08 Javascript
JS+canvas画一个圆锥实例代码
Dec 13 Javascript
Bootstrap模态对话框中显示动态内容的方法
Aug 10 Javascript
微信小程序实现授权登录
May 15 Javascript
layer 关闭指定弹出层的例子
Sep 25 Javascript
小程序组件传值和引入sass的方法(使用vant Weapp组件库)
Nov 24 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
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
2011/08/22 PHP
详解WordPress中过滤链接与过滤SQL语句的方法
2015/12/18 PHP
PHP面向对象继承用法详解(优化与减少代码重复)
2016/12/02 PHP
推荐:极酷右键菜单
2006/11/29 Javascript
根据对象的某一属性进行排序的js代码(如:name,age)
2010/08/10 Javascript
javascript跟随滚动效果插件代码(javascript Follow Plugin)
2013/08/03 Javascript
jQuery性能优化技巧分析
2015/02/20 Javascript
jQuery网页版打砖块小游戏源码分享
2015/08/20 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
2015/10/12 Javascript
把普通对象转换成json格式的对象的简单实例
2016/07/04 Javascript
vue v-model表单控件绑定详解
2017/05/17 Javascript
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
vue中动态绑定表单元素的属性方法
2018/02/23 Javascript
React注册倒计时功能的实现
2018/09/06 Javascript
JS实现图片拖拽交换效果
2018/11/30 Javascript
Nodejs中怎么实现函数的串行执行
2019/03/02 NodeJs
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
2019/06/17 Javascript
JS表格的动态操作完整示例
2020/01/13 Javascript
element-ui 实现响应式导航栏的示例代码
2020/05/08 Javascript
[01:27]DOTA2电竞之夜 今夜共饮庆功酒
2014/08/02 DOTA
简单介绍Python中的JSON使用
2015/04/28 Python
教你用Type Hint提高Python程序开发效率
2016/08/08 Python
Python实现购物车功能的方法分析
2017/11/10 Python
python修改list中所有元素类型的三种方法
2018/04/09 Python
用Python3创建httpServer的简单方法
2018/06/04 Python
Python从单元素字典中获取key和value的实例
2018/12/31 Python
Python开发网站目录扫描器的实现
2019/02/21 Python
python 判断linux进程,并杀死进程的实现方法
2019/07/01 Python
基于Python 的语音重采样函数解析
2020/07/06 Python
网络工程师个人的自我评价范文
2013/10/01 职场文书
装潢设计专业推荐信模板
2013/11/26 职场文书
留学自荐信写作方法
2014/01/27 职场文书
《小小竹排画中游》教学反思
2014/02/26 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
大学生逃课检讨书
2015/05/04 职场文书
感恩的心主题班会
2015/08/12 职场文书