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 继承详解(一)
Jul 13 Javascript
利用jQuary实现文字浮动提示效果示例代码
Dec 26 Javascript
jQuery使用之处理页面元素用法实例
Jan 19 Javascript
jQuery简单实现仿京东商城的左侧菜单效果代码
Sep 09 Javascript
简单谈谈javascript中this的隐式绑定
Feb 22 Javascript
原生js三级联动的简单实现代码
Jun 07 Javascript
webpack+vue-cil中proxyTable处理跨域的方法
Jul 20 Javascript
详解webpack-dev-server使用方法
Sep 14 Javascript
微信小程序提交form操作示例
Dec 30 Javascript
vue-devtools的安装和使用步骤详解
Oct 17 Javascript
vue样式穿透 ::v-deep的具体使用
Jun 04 Javascript
详解vue 组件
Jun 11 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
怎样辨别一杯好咖啡
2021/03/03 新手入门
dedecms模版制作使用方法
2007/04/03 PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
关于PHP开发的9条建议
2015/07/27 PHP
form自动提交实例讲解
2017/07/10 PHP
php二维码生成以及下载实现
2017/09/28 PHP
PHP开发实现快递查询功能详解
2019/04/08 PHP
laravel 多图上传及图片的存储例子
2019/10/14 PHP
关于PHP中interface的用处详解
2020/07/26 PHP
javascript 函数调用规则
2009/08/26 Javascript
封装了一个js图片轮换效果的函数
2011/09/28 Javascript
javascript操作select元素实例分析
2015/03/27 Javascript
js正则表达式中exec用法实例
2015/07/23 Javascript
vue之数据交互实例代码
2017/06/16 Javascript
基于JavaScript实现弹幕特效
2020/08/27 Javascript
Vue CLI3 开启gzip压缩文件的方式
2018/09/30 Javascript
[jQuery] 事件和动画详解
2019/03/05 jQuery
vue中组件的3种使用方式详解
2019/03/23 Javascript
pycharm 使用心得(一)安装和首次使用
2014/06/05 Python
在Python中实现贪婪排名算法的教程
2015/04/17 Python
python爬取51job中hr的邮箱
2016/05/14 Python
Python 将Matrix、Dict保存到文件的方法
2018/10/30 Python
Python内存管理实例分析
2019/07/10 Python
浅谈ROC曲线的最佳阈值如何选取
2020/02/28 Python
HTML文本属性&颜色控制属性的实现
2019/12/17 HTML / CSS
Expedia挪威官网:酒店、机票和租车
2018/03/03 全球购物
Antonioli美国在线商店:时尚前卫奢华
2019/07/29 全球购物
罗技英国官方网站:Logitech UK
2020/11/03 全球购物
计算机专业毕业生推荐信
2013/11/25 职场文书
语文教学随笔感言
2014/02/18 职场文书
幼儿园清明节活动总结
2014/07/04 职场文书
数学考试作弊检讨书300字
2015/02/16 职场文书
2015年安全月活动总结
2015/03/26 职场文书
校长一岗双责责任书
2015/05/09 职场文书
巴黎圣母院观后感
2015/06/10 职场文书
Python基础学习之奇异的GUI对话框
2021/05/27 Python