Как я могу просмотреть объект с предупреждением()
Я попытался сделать отладку, но у меня проблемы. Теперь я попробую с alert()
. Например, я хочу увидеть значение:
var product = { ProductName: $('!Answer_Response[0]').val(),
UnitPrice: $('#Price').val(),
Stock: $('#Stock').val()
};
Когда я говорю alert(product)
, он просто дает мне [object Object]
. Как я могу предупредить, что на самом деле там?
Ответы
Ответ 1
вы можете использовать метод JSON.stringify()
, найденный в современных браузерах и предоставляемый json2.js.
var myObj = {"myProp":"Hello"};
alert (JSON.stringify(myObj)); // alerts {"myProp":"Hello"};
или
также проверьте эту библиотеку: http://devpro.it/JSON/files/JSON-js.html
Ответ 2
вы можете использовать метод toSource, подобный этому
alert(product.toSource());
Ответ 3
Если вы хотите легко просмотреть содержимое объектов во время отладки, установите инструмент, например Firebug и используйте console.log
:
console.log(product);
Если вы хотите просмотреть свойства самого объекта, не alert
объект, а его свойства:
alert(product.ProductName);
alert(product.UnitPrice);
// etc... (or combine them)
Как сказано, , если вы действительно хотите повысить свою отладку JavaScript, используйте Firefox с аддоном Firebug. Вам будет интересно, как вы когда-либо отлаживали ваш код раньше.
Ответ 4
Это то, что я использую:
var result = [];
for (var l in someObject){
if (someObject.hasOwnProperty(l){
result.push(l+': '+someObject[l]);
}
}
alert(result.join('\n'));
Если вы хотите также отображать вложенные объекты, вы можете использовать что-то рекурсивное:
function alertObject(obj){
var result = [];
function traverse(obj){
for (var l in obj){
if (obj.hasOwnProperty(l)){
if (obj[l] instanceof Object){
result.push(l+'=>[object]');
traverse(obj[l]);
} else {
result.push(l+': '+obj[l]);
}
}
}
}
traverse(obj);
return result;
}
Ответ 5
Вам действительно нужно использовать Firebug или консоль Webkit для отладки. Затем вы можете просто сделать console.debug(product);
и изучить объект.
Ответ 6
alert (product.UnitName + " " + product.UnitPrice + " " + product.Stock)
либо создайте метод toString() для вашего объекта и вызовите
alert(product.toString())
Но я должен согласиться с другими плакатами - если это отладка, вы собираетесь использовать firebug или F12 на IE9 или chrome, а с помощью console.log - путь
Ответ 7
В зависимости от того, какое свойство вы заинтересованы:
alert(product.ProductName);
alert(product.UnitPrice);
alert(product.Stock);
Ответ 8
alert( JSON.stringify(product) );
Ответ 9
Использовать собственный JSON.stringify
метод Javascript. Чтобы визуализировать его лучше, вы можете использовать, например: JSON.stringify(obj,null, 4)
var obj = {data:[{"empmenuid":"1","empid":null,"deptid":"66","aliasid":"66","firstname":"66","lastname":"66","sin":"66","status":"66","empclass":"66","hiredate":"66","seneoritydate":"66","separationdate":"66"},{"empmenuid":"3","empid":null,"deptid":"12","aliasid":"12","firstname":"12","lastname":"12","sin":"12","status":"12","empclass":"12","hiredate":"12","seneoritydate":"12","separationdate":"12","recalldate":"12","martialstatus":"12","gender":"12","pager":"12","locid":"12","jobtitle":"12","jobtitlestart":"12","fullpart":"12","manager":"12","managername":"12","middlename":"12","nickname":"12","paytype":"12","payfreq":"12"}],
recordType : 'object'};
alert(JSON.stringify(obj,null, 4));
Ответ 10
Попробуй это:
alert(JSON.parse(product) );