如何查看带有警报的对象()

时间:2011-04-22 09:05:56

标签: javascript jquery

我尝试进行调试,但遇到了问题。现在我尝试使用alert()。例如,我希望看到以下值:

var product = { ProductName: $('!Answer_Response[0]').val(),
                  UnitPrice: $('#Price').val(),
                  Stock: $('#Stock').val()
              };

当我说alert(product)时,它只给了我[object Object]。如何让警报显示真正存在的内容?

10 个答案:

答案 0 :(得分:69)

您可以使用现代浏览器中的JSON.stringify()方法,并由json2.js提供。

var myObj = {"myProp":"Hello"};
alert (JSON.stringify(myObj));    // alerts {"myProp":"Hello"};

还要检查此库:http://devpro.it/JSON/files/JSON-js.html

答案 1 :(得分:11)

你可以像这样使用toSource方法

alert(product.toSource());

答案 2 :(得分:4)

如果您想在调试时轻松查看对象的内容,请安装Firebug之类的工具并使用console.log

console.log(product);

如果要查看对象本身的属性,请不要alert对象,而是其属性:

alert(product.ProductName);
alert(product.UnitPrice);
// etc... (or combine them)

如上所述,如果你真的想要提高你的JavaScript调试,请使用Firefox和Firebug插件。你会想知道你以前是如何调试代码的。

答案 3 :(得分:2)

这就是我使用的:

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;
}

答案 4 :(得分:2)

您应该使用Firebug或Webkit的控制台进行调试。然后你可以做console.debug(product);并检查对象。

答案 5 :(得分:1)

尝试一下:

alert(JSON.parse(product) );

答案 6 :(得分:0)

alert (product.UnitName + " " + product.UnitPrice + " " + product.Stock)

或者在对象上创建一个toString()方法并调用

alert(product.toString())

但是我必须同意其他海报 - 如果它正在调试你在IE9或Chrome上使用firebug或F12并且使用console.log是要走的路

答案 7 :(得分:0)

取决于您感兴趣的属性:

alert(product.ProductName);
alert(product.UnitPrice);
alert(product.Stock);

答案 8 :(得分:0)

alert( JSON.stringify(product) );

答案 9 :(得分:0)

使用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));

sampleProject/android/build.gradle