判断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 相关文章推荐
JavaScript使用技巧精萃[代码非常实用]
Nov 21 Javascript
随窗体滑动的小插件sticky源码
Jun 21 Javascript
javascript 实现键盘上下左右功能的小例子
Sep 15 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
May 27 Javascript
AngularJS服务service用法总结
Dec 13 Javascript
防止重复发送 Ajax 请求
Feb 15 Javascript
Angular实现表单验证功能
Nov 13 Javascript
vue 使用ref 让父组件调用子组件的方法
Feb 08 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
Feb 20 jQuery
jquery实现Ajax请求的几种常见方式总结
May 28 jQuery
vue项目出现页面空白的解决方案
Oct 31 Javascript
JS+DIV实现拖动效果
Feb 11 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
PHP4实际应用经验篇(9)
2006/10/09 PHP
nginx+thinkphp下解决不支持pathinfo模式
2015/07/01 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
2019/04/17 PHP
基于jquery的拖动布局插件
2011/11/25 Javascript
jquery封装的对话框简单实现
2013/07/21 Javascript
jQuery focus和blur事件的应用详解
2014/01/26 Javascript
JS与HTML结合使用marquee标签实现无缝滚动效果代码
2016/07/05 Javascript
Javascript实现图片懒加载插件的方法
2016/10/20 Javascript
js 打开新页面在屏幕中间的实现方法
2016/11/02 Javascript
three.js绘制地球、飞机与轨迹的效果示例
2017/02/28 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
JavaScript递归算法生成树形菜单
2017/08/15 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
2018/10/09 Javascript
vue-cli3全面配置详解
2018/11/14 Javascript
如何在Vue.js中实现标签页组件详解
2019/01/02 Javascript
vue中用 async/await 来处理异步操作
2020/07/18 Javascript
js实现可爱的气泡特效
2020/09/05 Javascript
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
[34:39]Secret vs VG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
[40:19]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.18
2020/12/19 DOTA
python基础知识小结之集合
2015/11/25 Python
详解Python 数据库的Connection、Cursor两大对象
2018/06/25 Python
不管你的Python报什么错,用这个模块就能正常运行
2018/09/14 Python
使用python写一个自动浏览文章的脚本实例
2019/12/05 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
Python分析最近大火的网剧《隐秘的角落》
2020/07/02 Python
three.js模拟实现太阳系行星体系功能
2019/09/03 HTML / CSS
美国一家专业的太阳镜网上零售商:Solstice太阳镜
2016/07/25 全球购物
员工培训心得体会
2013/12/30 职场文书
小学生家长评语大全
2014/02/10 职场文书
人事专员的职责
2014/02/26 职场文书
学生评语集锦
2015/01/04 职场文书
python爬虫之selenium库的安装及使用教程
2021/05/23 Python
详解Python自动化之文件自动化处理
2021/06/21 Python
mysql 索引合并的使用
2021/08/30 MySQL