Вопрос: Как я могу отобразить объект JavaScript?


Как отобразить содержимое объекта JavaScript в строчном формате, например, когда мы alertПеременная?

Тот же форматированный способ, которым я хочу отобразить объект.


1239


источник


Ответы:


С Firefox

Если вы хотите напечатать объект для целей отладки, я предлагаю вместо этого установить Firebug для Firefox и используя код:

console.log(obj)

С Chrome

var obj = {prop1: 'prop1Value', prop2: 'prop2Value', child: {childProp1: 'childProp1Value'}}
console.log(obj)

отобразит

screenshot console chrome

Заметка : вы должны только регистрировать объект. Например, это не сработает:

console.log('My object : ' + obj)

734



Использовать родной JSON.stringifyметод. Работает с вложенными объектами и всеми основными браузерами поддержка Этот метод.

str = JSON.stringify(obj);
str = JSON.stringify(obj, null, 4); // (Optional) beautiful indented output.
console.log(str); // Logs output to dev tools console.
alert(str); // Displays output using window.alert()

Ссылка к Справочник по API Mozilla и другие примеры.

obj = JSON.parse(str); // Reverses above operation (Just in case if needed.)

Использовать пользовательский JSON.stringify replacer если вы столкнулись с этой ошибкой Javascript

"Uncaught TypeError: Converting circular structure to JSON"

1698



var output = '';
for (var property in object) {
  output += property + ': ' + object[property]+'; ';
}
alert(output);

365



console.dir(object):

Отображает интерактивный список свойств указанного объекта JavaScript. Этот список позволяет использовать раскрывающиеся треугольники для изучения содержимого дочерних объектов.

Обратите внимание, что console.dir()функция нестандартная. Видеть Веб-документы MDN


95



попробуй это :

console.log(JSON.stringify(obj))

Это приведет к печати строковой версии объекта. Поэтому вместо [object]в качестве вывода вы получите содержимое объекта.


64



Ну, Firefox (спасибо @Bojangles за подробную информацию) Object.toSource()метод, который печатает объекты как JSON и function(){},

Думаю, этого достаточно для большинства целей отладки.


63



Если вы хотите использовать оповещение, чтобы распечатать свой объект, вы можете сделать это:

alert("myObject is " + myObject.toSource());

Он должен печатать каждое свойство и его соответствующее значение в строковом формате.


51



Function:

var print = function(o){
    var str='';

    for(var p in o){
        if(typeof o[p] == 'string'){
            str+= p + ': ' + o[p]+'; </br>';
        }else{
            str+= p + ': { </br>' + print(o[p]) + '}';
        }
    }

    return str;
}

Usage:

var myObject = {
    name: 'Wilson Page',
    contact: {
        email: 'wilson@hotmail.com',
        tel: '123456789'
    }  
}

$('body').append( print(myObject) );

Example:

http://jsfiddle.net/WilsonPage/6eqMn/


31



In NodeJS you can print an object by using util.inspect(obj). Be sure to state the depth or you'll only have a shallow print of the object.


31