javascript 对象可以看做属性的集合。我们可以通过三种方式来判断某个属性是否存在于某个对象中。

1.in操作符

var o={x:1}
"x" in o //True :x是o的属性
"y" in o // False:y不是o的属性
"toString" in o //True 通tostring 从object继承过来的。

 2.hasOwnPreperty()方法

var o={x:1}
o.hasOwnPreperty("x") //True x为o的属性
0.hasOwnPreperty("y") //False y部位o的属性
o.hasOwnPreperty("toString") //True 通tostring自object继承过来的。

3.propertyIsEnumerable()为ECMAScript5支持,是hasOwnPreperty()的增强版,此方法,只有检测到自有属性且这个属性的可枚举性为true才为true

var o=inherit({y:2});
o.x=1;
o.propertyIsEnumerable("x") //true o有一个可枚举的自有属性x
o.propertyIsEnumerable("y") //false y是继承来的。
Object.prototype.propertyIsEnumerable("toString"); //false :不可以枚举的。

4.使用!==判断属性是否存是undefined

var o={x:1}
o.x !== undefined; //true :o中有属性
o.y !== undefined; //false:o中没有属性y
o.toString != undefined //true:o中继承了tostring

  

最新文章

  1. Mysql支持的数据类型(总结)
  2. OSI七层模型
  3. iOS开发UI篇—懒加载
  4. NSURLSession总结
  5. kali开启ssh
  6. C# winform窗体设计-对数据库执行增删改操作
  7. div 等高
  8. git log 常用命令
  9. Java基础毕向东day05 对象与对象的区别,匿名内部类,函数的执行流程。
  10. nutch安装配置
  11. ASP.NET MVC轻教程 Step By Step 1 ——入门
  12. 收集SQLServer线程等待信息
  13. 基于GBT28181:SIP协议组件开发-----------第一篇环境搭建
  14. CentOS(minimal)+Nginx+php+mysql实现宿主访问虚拟机
  15. [算法] avl树实现
  16. 抽象类 abstract 和 接口 interface 类的区别
  17. apache 负载测试工具 ab
  18. Ajax入门例子
  19. More than the maximum number of request parameters
  20. PS小技巧之完美抠图

热门文章

  1. nginx详细配置文件 (转)
  2. C程序的构成及动态内存分配
  3. 青瓷qici - H5小游戏 抽奖机 3 效果设置
  4. 使用Fiddler提高前端工作效率 (介绍篇)
  5. 欢迎使用skymvc框架,简单易用的php框架
  6. yum使用详细
  7. TDirectory.IsRelativePath是否相对路径
  8. ubuntu杂记
  9. 如何让ubuntu启动时打印字符信息----字符启动
  10. 除了判断语句if switch 我们还可以怎么做?-b