7

PHP のメソッドと同様に、オブジェクトの変数の値をすべて取得する簡単な方法があるかどうか疑問に思っていましたvar_dump()

もし私がオブジェクトを持っていたら

var myObject = {
    Up: 38,
    Dn: 40,
    Lf: 37,
    Rt: 39,
    Enter: 13,
    Space: 32,
    Esc: 27
};

返される文字列は次のようになります

[ Up:38, Dn:40, Lf:37, Rt:39, Enter:13, Space:32, Esc:27 ]

firebug を使用できないコンピューターでこれを行う必要があるとしましょう。オブジェクト内のすべてのパラメーターを反復せずにこれを行う方法はありますか? このようなものを持っているスタンドアロンのライブラリはありますか?

4

5 に答える 5

7

よく使うワンライナーとして

   var o = {a:1, b:2}, k, s = []; for (k in o) o.hasOwnProperty(k) && s.push (o[k]); s = s.join (', ');

オブジェクト (o の値) の 1 つのオカレンスを変更するだけで、結果は s になります。

これはデータ構造に再帰しません。JSON.stringify が必要な場合は、おそらくより適しています。ただし、JSON.stringify は関数を実行せず、単純にスキップすることに注意してください。

フォーマットされた文字列化の使用

JSON.stringify({a:1,b:2,c:{d:1,e:[1,2]}}, null, 4); // Indented 4 spaces

Javascriptへの回答によると: オブジェクトから直接フォーマットされた読みやすい JSON を生成する方法は?

于 2012-06-13T21:22:25.153 に答える
5

デフォルトの開発者を使用します。IE、Chrome、Firefox のツール

console.dir(myObject); 

これらのツールを本当に使用できない場合は、おそらく aJSON.stringify(myObject)が役立つ可能性があります。

于 2012-06-13T21:07:39.850 に答える
2

FirebugLiteを試しましたか? 多くの Firebug 機能があります。

これは Javascript Firebug ライブラリです。スクリプトをロードするだけです。

<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script>

また、Internet Explorer を含むすべての主要なブラウザで Firebug コンソールを利用できます。

于 2012-06-13T21:07:30.957 に答える
1

JSON.stringifyが最適ですが、すべてのブラウザーで動作します。次の lib を含めるだけです。

https://github.com/douglascrockford/JSON-js/blob/master/json2.js

例:

        text = JSON.stringify(['e', {pluribus: 'unum'}]);
        // text is '["e",{"pluribus":"unum"}]'


        text = JSON.stringify(['e', {pluribus: 'unum'}], null, '\t');
        // text is '[\n\t"e",\n\t{\n\t\t"pluribus": "unum"\n\t}\n]'

        text = JSON.stringify([new Date()], function (key, value) {
            return this[key] instanceof Date ?
                'Date(' + this[key] + ')' : value;
        });
        // text is '["Date(---current time---)"]'
于 2012-06-13T21:13:11.990 に答える
0
function var_dump(obj) {
    var obj_members = "";
    var sep = "";
    for (var key in obj) {
        obj_members += sep + key + ":" + obj[key];
        sep = ", ";
    }
    return ("[" + obj_members + "]");
}
于 2012-06-13T21:09:03.410 に答える