判断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 相关文章推荐
Asp.net下使用Jquery Ajax传送和接收DataTable的代码
Sep 12 Javascript
使用jQuery实现的掷色子游戏动画效果
Mar 14 Javascript
jQuery 重复加载错误以及修复方法
Dec 16 Javascript
JavaScript的jQuery库插件的简要开发指南
Aug 12 Javascript
jQuery实现图片预加载效果
Nov 27 Javascript
jQuery使用getJSON方法获取json数据完整示例
Sep 13 Javascript
canvas简单快速的实现知乎登录页背景效果
May 08 Javascript
如何开发出更好的JavaScript模块
Dec 22 Javascript
vue项目常用组件和框架结构介绍
Dec 24 Javascript
React Native基础入门之初步使用Flexbox布局
Jul 02 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
Sep 28 Javascript
详解webpack+ES6+Sass搭建多页面应用
Nov 05 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 Http_Template_IT类库进行模板替换
2009/03/19 PHP
PHP上传文件时文件过大$_FILES为空的解决方法
2013/11/26 PHP
php删除数组中重复元素的方法
2015/12/22 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
window.open以post方式将内容提交到新窗口
2012/12/26 Javascript
多个datatable共存造成多个表格的checkbox都被选中
2013/07/11 Javascript
javascript实现捕捉键盘上按下的键
2015/05/05 Javascript
JavaScript判断表单为空及获取焦点的方法
2016/02/12 Javascript
js制作可以延时消失的菜单
2017/01/13 Javascript
jQuery实现jQuery-form.js实现异步上传文件
2017/04/28 jQuery
ES6深入理解之“let”能替代”var“吗?
2017/06/28 Javascript
Javascript中this关键字指向问题的测试与详解
2017/08/11 Javascript
JS实现图片居中悬浮效果
2017/12/25 Javascript
JS返回页面时自动回滚到历史浏览位置
2018/09/26 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
2018/10/20 Javascript
JavaScript简单实现动态改变HTML内容的方法示例
2018/12/25 Javascript
vue绑定数字类型 value为数字的实例
2020/08/31 Javascript
Python中实现最小二乘法思路及实现代码
2018/01/04 Python
Python实现爬取并分析电商评论
2020/06/19 Python
virtualenv介绍及简明教程
2020/06/23 Python
Python如何实现自带HTTP文件传输服务
2020/07/08 Python
意大利在线眼镜精品店:Ottica Lipari
2019/11/11 全球购物
美国沙龙美发产品购物网站:Hair.com by L’Oreal
2020/11/09 全球购物
新闻网站实习自我鉴定
2013/09/25 职场文书
信息管理员岗位职责
2013/12/01 职场文书
国际贸易专业个人鉴定
2014/02/22 职场文书
机关作风建设整改方案
2014/10/27 职场文书
2014年班主任工作总结
2014/11/08 职场文书
解除劳动关系协议书2篇
2014/11/28 职场文书
机器人总动员观后感
2015/06/09 职场文书
2015年“我们的节日·重阳节”活动总结
2015/07/29 职场文书
初中团委工作总结
2015/08/13 职场文书
2016会计专业自荐信范文
2016/01/28 职场文书
《我的伯父鲁迅先生》教学反思
2016/02/16 职场文书
创业计划书之健康营养产业
2019/10/15 职场文书
口袋妖怪冰系十大最强精灵,几何雪花排第七,第六类似北极熊
2022/03/18 日漫