判断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实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
May 27 Javascript
电子商务网站上的常用的js放大镜效果
Dec 08 Javascript
js中的前绑定和后绑定详解
Aug 01 Javascript
JS通过ajax动态读取xml文件内容的方法
Mar 24 Javascript
JQuery页面地址处理插件jqURL详解
May 03 Javascript
javascript遇到html5的一些表单属性
Jul 05 Javascript
JS实现图片上传预览功能
Nov 21 Javascript
jQuery之动画ajax事件(实例讲解)
Jul 18 jQuery
JS库中的Particles.js在vue上的运用案例分析
Sep 13 Javascript
js构建二叉树进行数值数组的去重与优化详解
Mar 26 Javascript
Bootstrap导航菜单点击后无法自动添加active的处理方法
Aug 10 Javascript
解决layui数据表格Date日期格式的回显Object的问题
Sep 19 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 exif扩展方法开启详解
2014/07/28 PHP
详解Yii2 rules 的验证规则
2016/12/02 PHP
实用javaScript技术-屏蔽类
2006/08/15 Javascript
JavaScript 模拟用户单击事件
2009/12/31 Javascript
JavaScript中的this实例分析
2011/04/28 Javascript
读jQuery之九 一些瑕疵说明
2011/06/21 Javascript
给页面渲染时间加速 干掉Dom Level 0 Event
2012/12/19 Javascript
JQuery入门——移除绑定事件unbind方法概述及应用
2013/02/05 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
2015/01/28 Javascript
简介JavaScript中的italics()方法的使用
2015/06/08 Javascript
7个去伪存真的JavaScript面试题
2016/01/07 Javascript
jquery实现跳到底部,回到顶部效果的简单实例(类似锚)
2016/07/10 Javascript
JavaScript转换数据库DateTime字段类型方法
2017/06/27 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
vue-router实现tab标签页(单页面)详解
2017/10/17 Javascript
Vue2.5通过json文件读取数据的方法
2018/02/27 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
vue登录页面cookie的使用及页面跳转代码
2019/07/10 Javascript
Python完全新手教程
2007/02/08 Python
简洁的十分钟Python入门教程
2015/04/03 Python
实例讲解Python中global语句下全局变量的值的修改
2016/06/16 Python
python访问抓取网页常用命令总结
2017/04/11 Python
python2与python3的print及字符串格式化小结
2018/11/30 Python
Python 生成一个从0到n个数字的列表4种方法小结
2019/11/28 Python
HTML5自定义属性的问题分析
2019/08/16 HTML / CSS
美国开幕式潮店:Opening Ceremony
2018/02/10 全球购物
十佳美德少年事迹材料
2014/02/05 职场文书
五型班组建设方案
2014/02/10 职场文书
事假请假条范文
2014/04/11 职场文书
政府信息公开实施方案
2014/05/09 职场文书
2014国庆65周年领导讲话稿(3篇)
2014/09/21 职场文书
扶贫办主任查摆“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
个人融资协议书范本两则
2014/10/15 职场文书
2015年教师节贺卡寄语
2015/03/24 职场文书
医院见习总结
2015/06/24 职场文书
JavaScript实现登录窗体
2021/06/22 Javascript