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

 更新时间:2017年10月01日 09:05:01   作者:流畅的心情  
下面小编就为大家带来一篇JS Testing Properties 判断属性是否在对象里的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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 判断属性是否在对象里的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)

    Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)

    这篇文章主要介绍了Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜教程(二)的相关资料,需要的朋友可以参考下
    2015-12-12
  • javascript递归函数定义和用法示例分析

    javascript递归函数定义和用法示例分析

    这篇文章主要介绍了javascript递归函数定义和用法示例分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 深入了解JavaScript 防抖和节流

    深入了解JavaScript 防抖和节流

    这篇文章主要介绍了JavaScript 防抖和节流,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • webpack4 配置 ssr 环境遇到“document is not defined”

    webpack4 配置 ssr 环境遇到“document is not defined”

    这篇文章主要介绍了webpack4 配置 ssr 环境遇到“document is not defined”,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • 移动端脚本框架Hammer.js

    移动端脚本框架Hammer.js

    这篇文章主要为大家详细介绍了一款开源的移动端脚本框架Hammer.js,可以完美的实现在移端开发的大多数事件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • JavaScript获取当前时间戳5种方法汇总

    JavaScript获取当前时间戳5种方法汇总

    很多时候我们都把时间戳作为id值,下面这篇文章主要给大家介绍了关于JavaScript获取当前时间戳的5种方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • 滚动条变色 隐藏滚动条与双击网页自动滚屏显示代码

    滚动条变色 隐藏滚动条与双击网页自动滚屏显示代码

    滚动条变色 隐藏滚动条与双击网页自动滚屏显示代码
    2009-12-12
  • js前端面试之同步与异步问题详解

    js前端面试之同步与异步问题详解

    这篇文章主要给大家介绍了关于js前端面试之同步与异步问题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用js具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • bootstrap实现动态进度条效果

    bootstrap实现动态进度条效果

    本篇文章主要介绍了bootstrap实现动态进度条效果,进度条可以加强应用的用户体验效果,看到数字,具有一定的参考价值,有兴趣的可以了解一下。
    2017-03-03
  • blob转换成string格式同步调用问题解决分析

    blob转换成string格式同步调用问题解决分析

    这篇文章主要为大家介绍了blob转换成string格式同步调用问题解决分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05

最新评论