当我不知道其中的内容时,如何读取JavaScript对象?

我一直在使用node.js,并且有一个我真的不知道其中的变量。当我尝试sys.puts时:

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

如果JavaScript中有类似print_r的东西,那很好。

有帮助吗?

解决方案

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

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));

其他提示

您可以通过

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/

您可以循环浏览对象以了解其属性及其价值

假设你的对象是

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);

如果您仅需要检查对象中的内容(即,由于某种原因与您相关,但是您不需要脚本中的功能),您可以只使用Firebug获取对象并准确检查其中的内容。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top