JS Testing Properties 判断属性是否在对象里的方法


Posted in Javascript onOctober 01, 2017

Testing Properties

To check whether an object has a property with a given name. You can do this with the in operator, with the hasOwnProperty() and propertyIsEnumerable() methods,

在JS中判断一个对象是否包含某个属性,可以使用 in,hasOwnProperty() and propertyIsEnumerable()

or simply by querying the property.

或者直接使用查询属性。

in--It returns true if the object has an own property or an inherited property 

用In,当前对象存在或者有继承,就返回true。

hasOwnProperty() --To test whether that object has an own property with the given name. It returns false for inherited properties

用hasOwnProperty() ,只关心本对象,不关心继承来的属性。

propertyIsEnumerable()--The propertyIsEnumerable() refines the hasOwnProperty() test. It returns true only if the named property is an own property and its enumerable attribute is true.

用propertyIsEnumerable() ,和hasOwnProperty() 这个类似,只是要求 属性可枚举。

 Instead of using the in operator  it is often sufficient to simply query the property and use !== to make sure it is not undefined

 o.x !== undefined; // true: o has a property x

替代In的最简单办法就是  query   +    !==Undefined

in can distinguish between properties that do not exist and properties that exist but have been set to undefined.

in 有个好处就是还能区分到底属性的值是undefined还是本身就不存在。

以上这篇JS Testing Properties 判断属性是否在对象里的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript Scoping and Hoisting 翻译
Jul 03 Javascript
js获取GridView中行数据的两种方法 分享
Jul 13 Javascript
jquery mobile事件多次绑定示例代码
Sep 13 Javascript
引入autocomplete组件时JS报未结束字符串常量错误
Mar 19 Javascript
在AngularJS应用中实现一些动画效果的代码
Jun 18 Javascript
jQuery实现带分组数据的Table表头排序实例分析
Nov 24 Javascript
jquery validate表单验证的基本用法入门
Jan 18 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
Jun 27 Javascript
分享一道关于闭包、bind和this的面试题
Feb 20 Javascript
详解element-ui中form验证杂记
Mar 04 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
Sep 03 Javascript
vue 封装 Adminlte3组件的实现
Mar 18 Javascript
基于原生js运动方式关键点的总结(推荐)
Oct 01 #Javascript
vuejs使用递归组件实现树形目录的方法
Sep 30 #Javascript
Easy UI动态树点击文字实现展开关闭功能
Sep 30 #Javascript
js实现轮播图的两种方式(构造函数、面向对象)
Sep 30 #Javascript
React实践之Tree组件的使用方法
Sep 30 #Javascript
JS动态添加的div点击跳转到另一页面实现代码
Sep 30 #Javascript
Node.js微信 access_token ( jsapi_ticket ) 存取与刷新的示例
Sep 30 #Javascript
You might like
多人战的战术与战略
2020/03/04 星际争霸
php中通过虚代理实现延迟加载的实现代码
2011/06/10 PHP
PHP fopen 读取带中文URL地址的一点见解
2012/09/25 PHP
PHP比较运算符的详细介绍
2015/09/29 PHP
PHP中的日期时间处理利器实例(Carbon)
2017/06/09 PHP
JavaScript中Array 对象相关的几个方法
2006/12/22 Javascript
网页javascript精华代码集
2007/01/24 Javascript
用JS实现的一个include函数
2007/07/21 Javascript
javascript开发随笔一 preventDefault的必要
2011/11/25 Javascript
Google Dart编程语法和基本类型学习教程
2013/11/27 Javascript
jQuery中:header选择器用法实例
2014/12/29 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
js实现文本框宽度自适应文本宽度的方法
2015/08/13 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
2016/05/05 Javascript
js 定义对象数组(结合)多维数组方法
2016/07/27 Javascript
关于页面刷新vuex数据消失问题解决方案
2017/07/03 Javascript
vue深入解析之render function code详解
2017/07/18 Javascript
vue头部导航动态点击处理方法
2018/11/02 Javascript
Net微信网页开发 使用微信JS-SDK获取当前地理位置过程详解
2019/08/26 Javascript
[52:27]2018DOTA2亚洲邀请赛 3.31 小组赛B组 paiN vs Secret
2018/04/01 DOTA
[01:02:18]VGJ.S vs infamous Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
[49:27]LGD vs OG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[41:13]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第一场 11.20
2020/11/20 DOTA
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
2018/04/22 Python
解决Pycharm出现的部分快捷键无效问题
2018/10/22 Python
浅谈python的dataframe与series的创建方法
2018/11/12 Python
python实现石头剪刀布小游戏
2021/01/20 Python
详解python 内存优化
2020/08/17 Python
W3C公布最新的HTML5标准草案
2008/10/17 HTML / CSS
国外平面设计素材网站:The Hungry JPEG
2017/03/28 全球购物
机电一体化求职信
2014/03/10 职场文书
保证书格式
2015/01/16 职场文书
个人工作年终总结
2015/03/09 职场文书
JavaScript高级程序设计之基本引用类型
2021/11/17 Javascript
MySQL数据库索引的最左匹配原则
2021/11/20 MySQL
redis数据一致性的实现示例
2022/03/18 Redis