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

それが失敗した場合は、独自の stringifier を作成できます。

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 に答える