How to check if object has any properties in JavaScript?

后端 未结 16 2353
自闭症患者
自闭症患者 2020-12-04 08:10

Assuming I declare

var ad = {}; 

How can I check whether this object will contain any user-defined properties?

16条回答
  •  无人及你
    2020-12-04 09:02

    for(var memberName in ad)
    {
      //Member Name: memberName
      //Member Value: ad[memberName]
    }
    

    Member means Member property, member variable, whatever you want to call it >_>

    The above code will return EVERYTHING, including toString... If you only want to see if the object's prototype has been extended:

    var dummyObj = {};  
    for(var memberName in ad)
    {
      if(typeof(dummyObj[memberName]) == typeof(ad[memberName])) continue; //note A
      //Member Name: memberName
      //Member Value: ad[memberName]
    
    }
    

    Note A: We check to see if the dummy object's member has the same type as our testing object's member. If it is an extend, dummyobject's member type should be "undefined"

提交回复
热议问题