判断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学习笔记二 之 变量
Dec 15 Javascript
jQuery常见开发技巧详细整理
Jan 02 Javascript
jquery解决客户端跨域访问问题
Jan 06 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
Sep 23 Javascript
BootStrap select2 动态改变值的方法
Feb 10 Javascript
Angular1.x复杂指令实例详解
Mar 01 Javascript
详解Vue中使用v-for语句抛出错误的解决方案
May 04 Javascript
vue.js或js实现中文A-Z排序的方法
Mar 08 Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
Jul 03 Javascript
vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码
Apr 04 Javascript
vue设置一开始进入的页面教程
Oct 28 Javascript
JS 数组基本用法入门示例解析
Jan 16 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
一个目录遍历函数
2006/10/09 PHP
PHP对文件进行加锁、解锁实例
2015/01/23 PHP
javascript flash下fromCharCode和charCodeAt方法使用说明
2008/01/12 Javascript
form表单action提交的js部分与html部分
2014/01/07 Javascript
jQuery实现带幻灯的tab滑动切换风格菜单代码
2015/08/27 Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
2015/12/31 Javascript
javascript设计模式之Adapter模式【适配器模式】实现方法示例
2017/01/13 Javascript
NodeJs使用Mysql模块实现事务处理实例
2017/05/31 NodeJs
JQuery 获取多个select标签option的text内容(实例)
2017/09/07 jQuery
vue+axios 前端实现的常用拦截的代码示例
2018/08/23 Javascript
Node.js如何对SQLite的async/await封装详解
2019/02/14 Javascript
layui: layer.open加载窗体时出现遮罩层的解决方法
2019/09/26 Javascript
在vue中封装的弹窗组件使用队列模式实现方法
2020/07/23 Javascript
基于postman获取动态数据过程详解
2020/09/08 Javascript
[01:05:36]VP vs TNC Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
学习python的几条建议分享
2013/02/10 Python
Python实现过滤单个Android程序日志脚本分享
2015/01/16 Python
Python命令启动Web服务器实例详解
2017/02/23 Python
Python实现的读写json文件功能示例
2018/06/05 Python
Django将默认的SQLite更换为MySQL的实现
2019/11/18 Python
python实现在线翻译功能
2020/03/03 Python
在Mac中配置Python虚拟环境过程解析
2020/06/22 Python
使用 CSS3 中@media 实现网页自适应的示例代码
2020/03/24 HTML / CSS
香港化妆品经销商:我的公主
2016/08/05 全球购物
英国内衣连锁店:Boux Avenue
2018/01/24 全球购物
阿迪达斯希腊官方网上商店:adidas希腊
2019/04/06 全球购物
澳大利亚购买健身器材网站:Gym Direct
2019/12/19 全球购物
2013年保送生自荐信格式
2013/11/20 职场文书
机械设计职业生涯规划书
2013/12/27 职场文书
母亲七十大寿答谢词
2014/01/18 职场文书
见习期自我鉴定
2014/01/31 职场文书
《列夫托尔斯泰》教学反思
2014/02/10 职场文书
师德师风自查材料
2014/10/14 职场文书
2015年销售工作总结范文
2015/03/30 职场文书
Python利器openpyxl之操作excel表格
2021/04/17 Python
68行Python代码实现带难度升级的贪吃蛇
2022/01/18 Python