我们需要看看Javascript中对象有什么方法/字段。


当前回答

如果您使用的是firefox,那么firebug插件控制台是检查对象的绝佳方法

console.debug(myObject);

或者你可以像这样循环遍历属性(包括方法):

for (property in object) {
    // do what you want with property, object[property].value
}

其他回答

如果使用Firebug,可以使用console.log输出一个对象,并在控制台中获得一个超链接的可浏览项。

控制台。在firebug或google-chrome web-inspector中的Dir(指向链接页面的底部)将输出一个对象属性的交互式列表。

再看看这个Stack-O的答案

如果你正在寻找PHP函数转换成JS,有一个小网站:http://phpjs.org。 在那里,你可以用JS可靠地编写大部分PHP函数。对于var_dump尝试:http://phpjs.org/functions/var_dump/(确保检查顶部评论,这取决于“echo”,也可以从同一站点下载)

我改进了nickf的答案,所以它递归循环遍历对象:

function var_dump(obj, element)
{
    var logMsg = objToString(obj, 0);
    if (element) // set innerHTML to logMsg
    {
        var pre = document.createElement('pre');
        pre.innerHTML = logMsg;
        element.innerHTML = '';
        element.appendChild(pre);
    }
    else // write logMsg to the console
    {
        console.log(logMsg);
    }
}

function objToString(obj, level)
{
    var out = '';
    for (var i in obj)
    {
        for (loop = level; loop > 0; loop--)
        {
            out += "    ";
        }
        if (obj[i] instanceof Object)
        {
            out += i + " (Object):\n";
            out += objToString(obj[i], level + 1);
        }
        else
        {
            out += i + ": " + obj[i] + "\n";
        }
    }
    return out;
}

你可以将此用于字符串和对象/数组

function print_r(obj){
   return JSON.stringify(obj, null, "\t"); 
}