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源码]超长文章自动分页(客户端版)
Jan 09 Javascript
MooTools 页面滚动浮动层智能定位实现代码
Aug 23 Javascript
ComboBox 和 DateField 在IE下消失的解决方法
Aug 30 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
Aug 10 Javascript
js数组的基本操作(很全自己整理的)
Oct 16 Javascript
prototype与__proto__区别详细介绍
Jan 09 Javascript
使用js获取伪元素的content实例
Oct 24 Javascript
jQuery封装animate.css的实例
Jan 04 jQuery
vue filters的使用详解
Jun 11 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
Jul 29 Javascript
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
Sep 23 Javascript
file-loader打包图片文件时路径错误输出为[object-module]的解决方法
Jan 03 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
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
ThinkPHP采用实现三级循环代码实例
2014/07/18 PHP
php实现的SESSION类
2014/12/02 PHP
php利用反射实现插件机制的方法
2015/03/14 PHP
微信公众平台实现获取用户OpenID的方法
2015/04/15 PHP
PHP中static关键字以及与self关键字的区别
2015/07/01 PHP
php源码的使用方法讲解
2019/09/26 PHP
JQuery Easyui Tree的oncheck事件实现代码
2010/05/28 Javascript
js随机颜色代码的多种实现方式
2013/04/23 Javascript
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
js 表单提交后按钮变灰的实例代码
2013/08/16 Javascript
两种方法基于jQuery实现IE浏览器兼容placeholder效果
2014/10/14 Javascript
javascript实现全角转半角的方法
2016/01/23 Javascript
js实现可键盘控制的简单抽奖程序
2016/07/13 Javascript
过期软件破解办法实例详解
2017/01/04 Javascript
ES6中module模块化开发实例浅析
2017/04/06 Javascript
Vue.js中的图片引用路径的方式
2017/07/28 Javascript
JS实现中文汉字按拼音排序的方法
2017/10/09 Javascript
详解webpack 入门与解析
2018/04/09 Javascript
详解React native fetch遇到的坑
2018/08/30 Javascript
解决vant title-active-color与title-inactive-color不生效问题
2020/11/03 Javascript
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
实例讲解Python编程中@property装饰器的用法
2016/06/20 Python
Python连接SQLServer2000的方法详解
2017/04/19 Python
Python 普通最小二乘法(OLS)进行多项式拟合的方法
2018/12/29 Python
Python选择网卡发包及接收数据包
2019/04/04 Python
Python中的引用知识点总结
2019/05/20 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
2019/12/13 Python
python3爬虫中引用Queue的实例讲解
2020/11/24 Python
利用python为PostgreSQL的表自动添加分区
2021/01/18 Python
大学生写自荐信的技巧
2014/01/08 职场文书
面包店的创业计划书范文
2014/01/16 职场文书
行政助理工作职责范本
2014/03/04 职场文书
医院义诊活动总结
2014/07/04 职场文书
办公室主任个人对照检查材料思想汇报
2014/10/11 职场文书
报案材料怎么写
2015/05/25 职场文书