如何做JavaScript对象内省?

Flo*_*rin 13 javascript jquery introspection

在所有探测之后该怎么办,据报道有效对象对于探测到的任何属性都返回'undefined'?我使用jQuery,$('selector').mouseover(function() { });Everything $(this)在函数范围内返回'undefined' .选择器是地图标签的"区域",我正在寻找其父属性.

Jas*_*ing 29

你的问题有点模糊,所以也许你可以提供更多细节?

至于找出一个对象及其属性的值,有很多方法可以做到这一点,包括使用Firebug或其他一些调试工具等.这是一个快速而肮脏的功能,可以帮助你开始,直到你能提供更多细节:

function listProperties(obj) {
   var propList = "";
   for(var propName in obj) {
      if(typeof(obj[propName]) != "undefined") {
         propList += (propName + ", ");
      }
   }
   alert(propList);
}
Run Code Online (Sandbox Code Playgroud)

这将显示您传递的对象的属性列表undefined.

希望有帮助......

  • @Lothar - 实际上,在某种程度上,确实如此.Introspection允许找出对象的方法和属性,就像我上面提供的函数一样.您是否只是因为我们不是专门针对Java这一事实而迂腐?如果是这样,那么...... (3认同)
  • 或者,就此而言,使用现在内置的JSON对象并在其上调用stringify() - 结果有点不同,但并不多.https://developer.mozilla.org/En/Using_native_JSON (2认同)