通常如果我们只使用alert(object);它将显示为[object object]。如何在JavaScript中打印对象的所有内容参数?


当前回答

打印可以使用的对象的内容

console.log(obj_str);

你可以在控制台看到结果,如下图所示。

Object {description: "test"} 

打开控制台按F12在chrome浏览器,你会发现控制台选项卡在调试模式。

其他回答

如果你只是想要一个对象的字符串表示,你可以使用JSON。stringify函数,使用JSON库。

你也可以使用Prototype的object .inspect()方法,该方法“返回对象的面向调试的字符串表示”。

http://api.prototypejs.org/language/Object/inspect/

你可以在你的对象原型中给他们自己的toString方法。

简单的函数提醒对象或数组的内容。 用数组或字符串或对象调用此函数,它会提醒内容。

函数

function print_r(printthis, returnoutput) {
    var output = '';

    if($.isArray(printthis) || typeof(printthis) == 'object') {
        for(var i in printthis) {
            output += i + ' : ' + print_r(printthis[i], true) + '\n';
        }
    }else {
        output += printthis;
    }
    if(returnoutput && returnoutput == true) {
        return output;
    }else {
        alert(output);
    }
}

使用

var data = [1, 2, 3, 4];
print_r(data);

除了使用调试器,还可以使用foreach循环访问对象的所有元素。下面的printObject函数应该alert()您的对象,显示所有属性和各自的值。

function printObject(o) {
  var out = '';
  for (var p in o) {
    out += p + ': ' + o[p] + '\n';
  }
  alert(out);
}

// now test it:
var myObject = {'something': 1, 'other thing': 2};
printObject(myObject);

使用DOM检查工具更可取,因为它允许您挖掘对象本身的属性。Firefox有FireBug,但所有其他主要浏览器(IE、Chrome、Safari)也有内置的调试工具,你应该检查一下。