Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何查看具有警报()的对象_Javascript_Jquery - Fatal编程技术网

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

Javascript 如何查看具有警报()的对象,javascript,jquery,Javascript,Jquery,我试图进行调试,但遇到问题。现在我尝试使用alert()。例如,我希望看到以下值: var product = { ProductName: $('!Answer_Response[0]').val(), UnitPrice: $('#Price').val(), Stock: $('#Stock').val() }; 当我说警报(产品)时,它只会给我[对象]。我怎样才能使警报显示真正的情况 a

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

var product = { ProductName: $('!Answer_Response[0]').val(),
                  UnitPrice: $('#Price').val(),
                  Stock: $('#Stock').val()
              };
当我说
警报(产品)
时,它只会给我
[对象]
。我怎样才能使警报显示真正的情况

alert (product.UnitName + " " + product.UnitPrice + " " + product.Stock)
或者在对象上创建一个toString()方法并调用

alert(product.toString())

但我必须同意其他海报-如果是调试,那么IE9或chrome上的firebug或F12以及使用console.log是一个不错的选择

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

console.log(product);
如果要查看对象本身的属性,请不要警告对象,而要查看其属性:

alert(product.ProductName);
alert(product.UnitPrice);
// etc... (or combine them)
如前所述,如果您真的想提高JavaScript调试效率,请使用Firefox和Firebug插件。您会想知道以前是如何调试代码的。

这就是我使用的:

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

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

取决于您感兴趣的属性:

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

您可以使用现代浏览器中提供的
JSON.stringify()
方法


还要检查此库:

您可以使用这样的toSource方法

alert(product.toSource());

使用Javascript原生
JSON.stringify
方法。要以更好的方式将其可视化,您可以使用,例如:
JSON.stringify(obj,null,4)

var obj={data:[{“empmenuid”:“1”,“empid”:“null”,“deptid”:“66”,“lastname”:“66”,“lastname”:“66”,“sin”:“66”,“status”:“66”,“hiredate”:“66”,“seneoritydate”:“66”,“separationdate”:“66”},{“empmenuid”:“3”,“empid”:“null”,“deptid”:“12”,“firstname”:“12”,“lastname”:“12”,“sin,“hiredate:”12“,”seneoritydate:”12“,”分离日期“:”12“,”重新校准日期“:”12“,”性别“:”12“,”寻呼机“:”12“,”locid“:”12“,”职务头衔“:”12“,”职务开始“:”12“,”完整部分“:”12“,”经理“:”12“,”中间名“:”12“,”昵称“:”12“,”工资类型“:”12“,”工资频率“:”12”},
记录类型:'对象'};
警报(JSON.stringify(obj,null,4));
试试这个:

alert(JSON.parse(product) );

如果要检查任何对象,请使用console.log(产品),这将在浏览器的开发工具(如firefox中的firebug)中显示您的对象。可能的副本将不会为您提供properties@spiel:它使用Javascript对象表示法为您提供字符串表示。这在这里可能足够了,但如果实例包含方法(函数)它们将不会显示。@KooiInc感谢您快速而有用的回答:)谢谢。我现在添加了firebug。控制台输出很好,但我可以用它做更多的事情吗?我可以单步浏览代码或查看我的javascript吗?@Melova当然可以。阅读firebug文档,因为这是一个太广泛而无法在这里讨论的主题。谢谢。我会这样做的。祝您有愉快的一天sed FF浏览器代码为JSON。stringfy(对象)是警报消息中的完美显示JSON数组。它在FF上工作,而不是在Chrome上。请改用JSON.stringify。
alert(product.toSource());
alert(JSON.parse(product) );