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 15 Javascript
漂亮的jquery提示效果(仿腾讯弹出层)
Feb 05 Javascript
如何动态的导入js文件具体该怎么实现
Jan 14 Javascript
JavaScript里四舍五入函数round用法实例
Apr 06 Javascript
解决给dom元素绑定click等事件无效问题的方法
Feb 17 Javascript
Django1.7+JQuery+Ajax验证用户注册集成小例子
Apr 08 jQuery
webpack学习教程之publicPath路径问题详解
Jun 17 Javascript
JS使用setInterval实现的简单计时器功能示例
Apr 19 Javascript
vue中node_modules中第三方模块的修改使用详解
May 31 Javascript
vue cli4.0项目引入typescript的方法
Jul 17 Javascript
JavaScript实现随机点名小程序
Oct 29 Javascript
vue+springboot实现登录验证码
May 27 Vue.js
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中使用gettext来支持多语言的方法
2011/05/02 PHP
基于php缓存的详解
2013/05/15 PHP
php简单统计中文个数的方法
2016/09/30 PHP
laravel实现上传图片并在页面显示的例子
2019/10/14 PHP
JavaScript中的Window窗口对象
2008/01/16 Javascript
JavaScript 获取事件对象的注意点
2009/07/29 Javascript
关于event.cancelBubble和event.stopPropagation()的区别介绍
2011/12/11 Javascript
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
js实现页面跳转重定向的几种方式
2014/05/29 Javascript
javascript中Object使用详解
2015/01/26 Javascript
学JavaScript七大注意事项【必看】
2016/05/04 Javascript
JSON 对象未定义错误的解决方法
2016/09/29 Javascript
JS实现二叉查找树的建立以及一些遍历方法实现
2017/04/17 Javascript
require.js与bootstrap结合实现简单的页面登录和页面跳转功能
2017/05/12 Javascript
p5.js入门教程之键盘交互
2018/03/19 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
2018/12/10 jQuery
react组件从搭建脚手架到在npm发布的步骤实现
2019/01/09 Javascript
微信小程序文字显示换行问题
2019/07/28 Javascript
selenium 反爬虫之跳过淘宝滑块验证功能的实现代码
2020/08/27 Javascript
Vue循环中多个input绑定指定v-model实例
2020/08/31 Javascript
[04:56]经典回顾:前Ehome 与 前LGD
2015/02/26 DOTA
[55:39]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第二场 1月19日
2021/03/11 DOTA
python selenium 查找隐藏元素 自动播放视频功能
2019/07/24 Python
python实现信号时域统计特征提取代码
2020/02/26 Python
Python urllib.request对象案例解析
2020/05/11 Python
python3读取autocad图形文件.py实例
2020/06/05 Python
Python openpyxl模块实现excel读写操作
2020/06/30 Python
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
澳大利亚制造的蜡烛和扩散器:Glasshouse Fragrances
2018/05/20 全球购物
Linux如何命名文件--使用文件名时应注意
2012/01/22 面试题
画展邀请函
2015/01/31 职场文书
淮阳太昊陵导游词
2015/02/10 职场文书
个人先进事迹总结
2015/02/26 职场文书
2015年调度员工作总结
2015/04/30 职场文书
大学生实习证明
2015/06/16 职场文书
《追风筝的人》:人心中的成见是座大山,但请不忘初心
2019/11/15 职场文书