2

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

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

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

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

4

4 回答 4

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/

于 2010-12-10T13:30:39.633 回答
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));
于 2010-12-10T13:36:15.157 回答
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);
于 2010-12-10T13:33:27.380 回答
0

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

于 2010-12-10T13:36:29.393 回答