zoukankan      html  css  js  c++  java
  • javascript的propertyIsEnumerable()方法使用介绍

    hasOwnProperty() 方法用来判断某个对象是否含有指定的自身属性。

    propertyIsEnumerable()是用来检测属性是否属于某个对象的,如果检测到了,返回true,否则返回false,下面为大家介绍下其具体的使用

    判断某个属性是否存在与某个对象中,可以通过in运算符,hasOwnProperty()和propertyIsEnumerable()方法来完成.
    in运算符,如果对象的自有属性或继承属性中包含这个属性,则返回true.
    对象的hasOwnProperty()方法用来检测给定的名字是否是对象的自有属性.
    propertyIsEnumerable()是hasOwnProperty()的增强版,只有检测到时自有属性且这个属性的可枚举性为true时才能返回true.


    /* 
    propertyIsEnumerable()是用来检测属性是否属于某个对象的,如果检测到了,返回true,否则返回false
    1.这个属性必须属于实例的,并且不属于原型
    2.这个属性必须是可枚举的,也就是自定义的属性,可以通过for..in循环出来的. 
    只要符合上面两个要求,就会返回true; 
    */ 
    function MyObject() { 
    this.name = "我是实例的属性"; 

    var obj = new MyObject(); 
    console.log(obj.propertyIsEnumerable("name"));//true 
    MyObject.prototype.say = "我是原型的属性"; 
    console.log(obj.propertyIsEnumerable("say")); //false 
    for (var key in obj) { 
    console.log(key);

    输出://name,say 

    obj.hasOwnProperty("name")  //true

    由于 for ... in 枚举是包含原型链上的属性的,所以如果你只想遍历对象本身的属性,可以:

    for (var key in obj) { 
      console.log(key);

    输出://name,say 

    for (var key in obj) { if (obj.hasOwnProperty(key) { console.log(key); } }
    //输出:name 

      

  • 相关阅读:
     一、cocos2dx之如何优化内存使用(高级篇)
    latex模版&&c++ STL用法&&画图网站
    HDU 3480 Division
    HDU 3045 Picnic Cows
    HDU 2993 MAX Average Problem
    HDU 3507 Print Article
    Luogu P2900 [USACO08MAR]土地征用Land Acquisition
    浅谈斜率优化
    POJ 2559 Largest Rectangle in a Histogram
    【计算几何】求半平面交的面积
  • 原文地址:https://www.cnblogs.com/laneyfu/p/6128834.html
Copyright © 2011-2022 走看看