判断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 相关文章推荐
FireFox与IE 下js兼容触发click事件的代码
Nov 20 Javascript
javascript(jquery)利用函数修改全局变量的代码
Nov 02 Javascript
GreyBox技术总结(转)
Nov 23 Javascript
浅说js变量
May 25 Javascript
基于jquery实现的一个选择中国大学的弹框 (数据、步骤、代码)
Jul 26 Javascript
JS异常处理的一个想法(sofish)
Mar 14 Javascript
Jquery简单分页实现方法
Jul 24 Javascript
Bootstrap Table表格一直加载(load)不了数据的快速解决方法
Sep 17 Javascript
jQuery实现元素的插入
Feb 27 Javascript
vue实现动态按钮功能
May 13 Javascript
js瀑布流布局的实现
Jun 28 Javascript
vue-model实现简易计算器
Aug 17 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笔记之:基于面向对象设计的详解
2013/05/14 PHP
PHP 读取大文件的X行到Y行内容的实现代码
2013/06/24 PHP
SSO单点登录的PHP实现方法(Laravel框架)
2016/03/23 PHP
简单谈谈 php 文件锁
2017/02/19 PHP
PHP中define() 与 const定义常量的区别详解
2019/06/25 PHP
php实现推荐功能的简单实例
2019/09/29 PHP
php服务器的系统详解
2019/10/12 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
2020/09/17 PHP
js面向对象编程之如何实现方法重载
2014/07/02 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
JS使用ajax方法获取指定url的head信息中指定字段值的方法
2015/03/24 Javascript
JS实现的表格行鼠标点击高亮效果代码
2015/11/27 Javascript
js+html5实现canvas绘制椭圆形图案的方法
2016/05/21 Javascript
微信小程序 Template详解及简单实例
2017/01/05 Javascript
js获取浏览器和屏幕的各种宽度高度
2017/02/22 Javascript
AngularJS实现单一页面内设置跳转路由的方法
2017/06/28 Javascript
详解angularjs popup-table 弹出框表格指令
2017/09/20 Javascript
JS XMLHttpRequest原理与使用方法深入详解
2020/04/30 Javascript
JS字符串补全方法padStart()和padEnd()
2020/05/27 Javascript
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
2019/04/26 Python
解决TensorFlow GPU版出现OOM错误的问题
2020/02/03 Python
Python中读取文件名中的数字的实例详解
2020/12/25 Python
Reebok俄罗斯官方网上商店:购买锐步运动服装和鞋子
2016/09/26 全球购物
欧尚俄罗斯网上超市:Auchan俄罗斯
2018/05/03 全球购物
美国渔具店:FishUSA
2019/08/07 全球购物
普罗米修斯教学反思
2014/02/06 职场文书
财务总监管理岗位职责
2014/03/08 职场文书
国际贸易专业自荐信
2014/06/10 职场文书
研修心得体会
2014/09/04 职场文书
2015年乡镇残联工作总结
2015/05/13 职场文书
如何在Python项目中引入日志
2021/05/31 Python
css height属性中的calc方法详解
2021/06/03 HTML / CSS
JS的深浅复制详细
2021/10/16 Javascript
Python Pygame实战在打砖块游戏的实现
2022/03/17 Python
MySQL批量更新不同表中的数据
2022/05/11 MySQL
HttpClient实现表单提交上传文件
2022/08/14 Java/Android