判断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 操作table,可以新增行和列并且隔一行换背景色代码分享
Jul 05 Javascript
jQuery插件kinMaxShow扩展效果用法实例
May 04 Javascript
通过jquery-ui中的sortable来实现拖拽排序的简单实例
May 24 Javascript
BootStrap3使用错误记录及解决办法
Dec 22 Javascript
Javascript blur与click冲突解决办法
Jan 09 Javascript
angular.JS实现网页禁用调试、复制和剪切
Mar 31 Javascript
详解AngularJS用Interceptors来统一处理HTTP请求和响应
Jun 08 Javascript
Webpack打包字体font-awesome的方法示例
Apr 26 Javascript
webpack4 optimization使用总结
Nov 10 Javascript
JS实现贪吃蛇游戏
Nov 15 Javascript
vue 中的 render 函数作用详解
Feb 28 Javascript
React冒泡和阻止冒泡的应用详解
Aug 18 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如何利用P3P实现跨域
2013/08/24 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
2014/06/26 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
深入浅析用PHP实现MVC
2016/03/02 PHP
PHP Pipeline 实现中间件的示例代码
2020/04/26 PHP
JavaScript定义类或函数的几种方式小结
2011/01/09 Javascript
JS 实现列表与多选框选择附预览动画
2014/10/29 Javascript
Jquery实现动态切换图片的方法
2015/05/18 Javascript
深入理解JavaScript单体内置对象
2016/06/06 Javascript
省市区三级联动jquery实现代码
2020/04/15 Javascript
javascript基础练习之翻转字符串与回文
2017/02/20 Javascript
详解Angular Reactive Form 表单验证
2017/07/06 Javascript
Iphone手机、安卓手机浏览器控制默认缩放大小的方法总结(附代码)
2017/08/18 Javascript
微信小程序使用map组件实现解析经纬度功能示例
2019/01/22 Javascript
微信小程序Echarts图表组件使用方法详解
2019/06/25 Javascript
vue路由跳转传递参数的方式总结
2020/05/10 Javascript
[01:39](回顾)各路豪强针锋相对,几经鏖战四强产生
2014/07/01 DOTA
简单谈谈Python中的反转字符串问题
2016/10/24 Python
numpy.delete删除一列或多列的方法
2018/04/03 Python
python模块smtplib学习
2018/05/22 Python
详解Django中六个常用的自定义装饰器
2018/07/04 Python
Django框架实现的简单分页功能示例
2018/12/04 Python
Python中使用logging和traceback模块记录日志和跟踪异常
2019/04/09 Python
python word转pdf代码实例
2019/08/16 Python
PyTorch中的Variable变量详解
2020/01/07 Python
您的网上新华书店:文轩网
2016/08/24 全球购物
日本卡普空电视游戏软件公司官方购物网站:e-CAPCOM
2018/07/17 全球购物
MySQL面试题
2014/01/12 面试题
校园文化建设方案
2014/02/03 职场文书
班组拓展活动方案
2014/08/14 职场文书
2014大学生中国梦主题教育学习思想汇报
2014/09/10 职场文书
2014年青年志愿者工作总结
2014/12/09 职场文书
上下班时间调整通知
2015/04/23 职场文书
婚庆司仪开场白
2015/05/29 职场文书
python3 删除所有自定义变量的操作
2021/04/08 Python
浅谈Python numpy创建空数组的问题
2021/05/25 Python