判断JS对象是否拥有某种属性的两种方式


Posted in Javascript onDecember 02, 2013

两种方式,但稍有区别

1,in 运算符

var obj = {name:'jack'}; 
alert('name' in obj); // --> true 
alert('toString' in obj); // --> true

可看到无论是name,还是原形链上的toString,都能检测到返回true。

2,hasOwnProperty 方法

var obj = {name:'jack'}; 
obj.hasOwnProperty('name'); // --> true 
obj.hasOwnProperty('toString'); // --> false

原型链上继承过来的属性无法通过hasOwnProperty检测到,返回false。

需注意的是,虽然in能检测到原型链的属性,但for in通常却不行。

当然重写原型后for in在IE9/Firefox/Safari/Chrome/Opera下是可见的。见:for in的缺陷

Javascript 相关文章推荐
js AspxButton的客户端操作
Jun 26 Javascript
Javascript之旅 对象的原型链之由来
Aug 25 Javascript
基于jquery自定义图片热区效果
Jul 21 Javascript
JavaScript中的数组操作介绍
Dec 30 Javascript
JS简单实现动画弹出层效果
May 05 Javascript
JavaScript实现的简单拖拽效果
Jun 01 Javascript
jquery+正则实现统一的表单验证
Sep 20 Javascript
js解决movebox移动问题
Mar 29 Javascript
javaScript封装的各种写法
Aug 14 Javascript
在Create React App中使用CSS Modules的方法示例
Jan 15 Javascript
鸿蒙系统中的 JS 开发框架
Sep 18 Javascript
解决ant design vue中树形控件defaultExpandAll设置无效的问题
Oct 26 Javascript
关于js中for in的缺陷浅析
Dec 02 #Javascript
js验证整数加保留小数点的简单实例
Dec 02 #Javascript
ExtJs中gridpanel分组后组名排序实例代码
Dec 02 #Javascript
javascript操作html控件实例(javascript添加html)
Dec 02 #Javascript
解析Javascript中大括号“{}”的多义性
Dec 02 #Javascript
解析JavaScript中点号“.”的多义性
Dec 02 #Javascript
解析JavaScript中的不可见数据类型
Dec 02 #Javascript
You might like
php强制运行广告的方法
2014/12/01 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
2015/01/26 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
2020/08/17 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
PHP Primary script unknown 解决方法总结
2019/08/22 PHP
JS 显示当前日期与时间的代码
2010/03/24 Javascript
showModelDialog弹出文件下载窗口的使用示例
2013/11/19 Javascript
jQuery中的$.ajax()方法应用
2014/05/06 Javascript
js钢琴按钮波浪式图片排列效果代码分享
2015/08/26 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
浅析jQuery中使用$所引发的问题
2016/05/29 Javascript
javascript 判断是否是微信浏览器的方法
2016/10/09 Javascript
DOM 事件的深入浅出(一)
2016/12/05 Javascript
基于Vue.js实现tab滑块效果
2017/07/23 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
2017/12/15 Javascript
关于HTTP传输中gzip压缩的秘密探索分析
2018/01/12 Javascript
React组件refs的使用详解
2018/02/09 Javascript
基于Vue和Element-Ui搭建项目的方法
2019/09/06 Javascript
[59:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第二局
2016/03/04 DOTA
[55:03]LGD vs EG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
浅谈Python类里的__init__方法函数,Python类的构造函数
2016/12/10 Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
2018/05/26 Python
selenium 多窗口切换的实现(windows)
2020/01/18 Python
python 函数嵌套及多函数共同运行知识点讲解
2020/03/03 Python
Python爬虫JSON及JSONPath运行原理详解
2020/06/04 Python
PIP和conda 更换国内安装源的方法步骤
2020/09/21 Python
英国男女奢华内衣和泳装购物网站:Figleaves
2017/01/28 全球购物
韩国11街:11STREET
2018/03/27 全球购物
个人找工作自荐信格式
2013/09/21 职场文书
幼儿园园长岗位职责
2013/11/26 职场文书
业务主管岗位职责范本
2013/12/25 职场文书
三好学生竞选稿范文
2019/08/21 职场文书
Nginx安装完成没有生成sbin目录的解决方法
2021/03/31 Servers
浅谈MySQL 亿级数据分页的优化
2021/06/15 MySQL
Python 键盘事件详解
2021/11/11 Python
JavaScript实现一键复制内容剪贴板
2022/07/23 Javascript