阅读Javascript对象

时间:2010-12-10 13:27:04

标签: javascript javascript-objects

当我不知道其中有什么内容时,如何阅读Javascript对象?

我一直在研究node.js并且有一个变量我真的不知道它里面有什么。当我尝试sys.puts时:

sys.puts(headers) // returns [object Object]

如果在javascript中有类似print_r的东西,那就没问题了。

4 个答案:

答案 0 :(得分:4)

您可以使用

循环其属性
for (var item in headers)
{
  // item is the name of the property
  // headers[item] is the value
}

http://www.jsfiddle.net/gaby/CVJry/3/处的示例(需要控制台

如果要将结果限制为直接属性(不是通过原型链继承),那么也使用hasOwnProperty方法。

示例http://www.jsfiddle.net/gaby/CVJry/2/

答案 1 :(得分:2)

大多数Web浏览器都可以使用JSON对象来打印对象的内容,

writeln(JSON.stringify(your_object));

如果失败,您可以创建自己的字符串;

var stringify = function(current) {
    if (typeof current != 'object')
        return current;

    var contents = '{';
    for (property in current) {
        contents += property + ": " + stringify(current[property]) + ", ";
    }

    return contents.substring(0, contents.length - 2) + "}";
}

var my_object = {my_string: 'One', another_object: {extra: 'Two'}};
writeln(stringify(my_object));

答案 2 :(得分:1)

您可以循环浏览对象以了解其属性&他们的价值观

假设您的对象是

var emp = {
           name:'abc', 
           age:12, 
           designation:'A'
        }

现在您可以在JS

中阅读其详细信息
for(property in emp ){
 alert(emp[property] + " " +property);
}

如果您在Firefox浏览器中添加了firebug,请打开它&在Firebug控制台的JS或JS窗口中编写。

console.log(a);

答案 3 :(得分:0)

如果您需要它来检查对象中的内容(即,由于某种原因它与您相关,但您的脚本中不需要该功能),您可以使用Firebug获取对象并准确检查它里面有什么。