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之锁定表格栏位
Jun 29 Javascript
JQueryEasyUI datagrid框架的进阶使用
Apr 08 Javascript
jquery validate 自定义验证方法介绍 日期验证
Feb 27 Javascript
JS实现根据当前文字选择返回被选中的文字
May 21 Javascript
Javascript中的delete操作符详细介绍
Jun 06 Javascript
JS循环遍历JSON数据的方法
Jul 08 Javascript
多个jQuery版本共存的处理方案
Mar 17 Javascript
JS中使用变量保存arguments对象的方法
Jun 03 Javascript
利用vue-router实现二级菜单内容转换
Nov 30 Javascript
关于vue中的ajax请求和axios包问题
Apr 19 Javascript
利用weixin-java-miniapp生成小程序码并直接返回图片文件流的方法
Mar 29 Javascript
JS算法题之查找数字在数组中的索引位置
May 15 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
如何过滤高亮显示非法字符
2006/10/09 PHP
PHP4实际应用经验篇(3)
2006/10/09 PHP
header()函数使用说明
2006/11/23 PHP
php 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
PHP遍历XML文档所有节点的方法
2015/03/12 PHP
PHP全功能无变形图片裁剪操作类与用法示例
2017/01/10 PHP
thinkphp5 模型实例化获得数据对象的教程
2019/10/18 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
2020/04/13 PHP
如何使用json在前后台进行数据传输实例介绍
2013/04/11 Javascript
Javascript实现真实字符串剩余字数提示的实例代码
2013/10/22 Javascript
多引号嵌套的变量命名的问题
2014/05/09 Javascript
jQuery实现鼠标可拖动调整表格列宽度
2014/05/26 Javascript
jQuery三级下拉列表导航菜单代码分享
2020/04/15 Javascript
JavaScript中的Object对象学习教程
2016/05/20 Javascript
javascript 网页进度条简单实例
2017/02/22 Javascript
JavaScript中的null和undefined用法解析
2019/09/30 Javascript
Vue自定义组件的四种方式示例详解
2020/02/28 Javascript
微信小程序收藏功能的实现代码
2020/06/19 Javascript
解决Echarts 显示隐藏后宽度高度变小的问题
2020/07/19 Javascript
VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决
2020/09/27 Javascript
浅谈Python中的作用域规则和闭包
2018/03/20 Python
python opencv旋转图像(保持图像不被裁减)
2018/07/26 Python
Python实现的银行系统模拟程序完整案例
2019/04/12 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
Python多线程:主线程等待所有子线程结束代码
2020/04/25 Python
Python爬虫之Selenium库的使用方法
2021/01/03 Python
基于HTML5的WebGL经典3D虚拟机房漫游动画
2017/11/15 HTML / CSS
Spartoo比利时:欧洲时尚购物网站
2017/12/06 全球购物
Unix里面如何在后台运行程序
2016/10/14 面试题
城建学院毕业生自荐信
2014/01/31 职场文书
上班打牌检讨书
2014/02/07 职场文书
《威尼斯的小艇》教学反思
2014/02/17 职场文书
建筑投标担保书
2014/05/20 职场文书
2015年三年级班主任工作总结
2015/05/21 职场文书
600字作文之感受大自然
2019/11/27 职场文书
MySQL索引失效十种场景与优化方案
2023/05/08 MySQL