JS对象是否拥有某属性如何判断

 更新时间:2017年02月03日 15:07:22   投稿:lqh  
这篇文章主要介绍了JS对象是否拥有某属性如何判断的相关资料,需要的朋友可以参考下

JS对象是否拥有某属性

两种方式,但稍有区别

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中sort排序实例详解

    javascript中sort排序实例详解

    这篇文章主要介绍了javascript sort排序的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • JavaScript DOM API的使用教程及综合案例

    JavaScript DOM API的使用教程及综合案例

    dom是Document Object Model的缩写,即文档对象模型,是基于文档编程的一套API接口,下面这篇文章主要给大家介绍了关于JavaScript DOM API的使用教程及综合案例的相关资料,需要的朋友可以参考下
    2023-03-03
  • 网络图片延迟加载实现代码 超越jquery控件

    网络图片延迟加载实现代码 超越jquery控件

    原理是分段加载图片,主要用于大型网站节省带宽,可是他们提供的东西压缩混淆看不清,还有的要基于什么雅虎的什么库,总之是很麻烦的,JQ的控件倒是够清晰了,只是还是没有达到节省网络带宽的效果
    2010-03-03
  • 用JS提交参数创建form表单在FireFox中遇到的问题

    用JS提交参数创建form表单在FireFox中遇到的问题

    在一个前端页面上,需要通过JavaScript来提交参数,使用JS创建form表单,将参数append到表单中进行提交,接下来将介绍如何操作与实现
    2013-01-01
  • javascript实现在线客服效果

    javascript实现在线客服效果

    这篇文章主要介绍了javascript实现在线客服效果的实例代码,非常不错,这里推荐给大家,有需要的小伙伴可以参考下。
    2015-07-07
  • 简约JS日历控件 实例代码

    简约JS日历控件 实例代码

    这篇文章介绍了一款简约JS日历控件的全部代码,有需要的朋友可以参考一下
    2013-07-07
  • JavaScript降低代码圈复杂度优化技巧

    JavaScript降低代码圈复杂度优化技巧

    当一个项目经过持续迭代,不断增加功能,逐渐变成一个复杂的产品时,新功能的开发变得相对困难,其中一个很大的原因是代码复杂度高,导致可维护性和可读性都很差,本文将从前端JavaScript的角度出发,介绍一些有效的方法和技巧来优化前端代码的圈复杂度
    2023-10-10
  • 如何制作自己的原生JavaScript路由

    如何制作自己的原生JavaScript路由

    这篇文章主要介绍了如何制作自己的原生JavaScript路由,对路由感兴趣的同学,可以参考下
    2021-05-05
  • js css样式操作代码(批量操作)

    js css样式操作代码(批量操作)

    用js控制css样式,能让网页达到良好的的用户体验甚至是动画的效果。并且考虑到效率。
    2009-10-10
  • JS实现的样式切换功能tableCSS实例

    JS实现的样式切换功能tableCSS实例

    这篇文章主要介绍了JS实现的样式切换功能tableCSS,结合实例形式分析了js页面元素遍历与样式动态操作相关技巧,需要的朋友可以参考下
    2016-12-12

最新评论