我可以在运行时深入查看javascript中对象的所有属性吗?

时间:2010-11-20 09:33:05

标签: javascript jwplayer

我有一个对象从flash对象传递给一个方法。我希望能够在Visual Studio中查看此对象中的所有属性,就像在c#中使用“添加监视”功能一样。

这可以用javascript和firefox / firebug吗?

我在考虑做一个for循环和console.logging结果,但迭代对象的最佳方法是将它视为数组等吗?

任何建议都非常感谢。 皮特

3 个答案:

答案 0 :(得分:3)

for (var p in obj) {
    if (obj.hasOwnProperty(p)) {
        console.log(p + ': ' + obj.p);
    }
}

JavaScript中的对象通过他们的原型继承,他们的原型也可以有原型。使用hasOwnProperty方法(继承自Object)检查您正在检查的对象上是否存在该属性,而不是与其原型相关联。

答案 1 :(得分:0)

从技术上讲,在JS中,一个对象是+ - 一个关联数组string->value,所以......

for (var key in someObject) {
    // key is a string
    var value = someObject[key];
    // ...
}

答案 2 :(得分:0)

通常您可以使用for (prop in obj) { }语法。

for (var prop in obj) {
   console.log(obj[name]);
}

在jQuery中有jQuery.each()方法,它允许对每个条目进行回调:

jQuery.each(obj, function(index, prop) {
    console.log(prop);
});