我不确定该怎么做,但我正在尝试用console.log调试一些JS值:
function SetAPIValue(key1, value1, scormVersion, methodCalled) {
/* key1 value sometimes contains the value true or false and dont want to store these! */
if (key1 == true || key1 == false) { }
else
{
/* value1 comes back with two values for cmi.suspend_data, then 3, then 4 all in one string seperated by a ';'! */
setValuesArray.push({
key: key1,
value: value1
});
for (var i = setValuesArray.length - 1; i >= 0; i--) {
var array = setValuesArray[i];
console.log(setValuesArray);
if (array.key == key1) {
if (key1 = "cmi.suspend_data") {
if (value1.indexOf(";") > 0)
{
valueArray[j] = value1.split(";");
alert(valueArray[j]);
//alert("key1 is" + key1 + "and is returning " + setValuesArray[j-1].value);
return valueArray[j];
}
}
else
return setValuesArray[i].value;
}
}
}
return "";
}我正在尝试查看console.log(setValuesArray)中的内容。当我在IE9中运行我的应用程序时,我启用了F12 developer tools,我点击console选项卡,我得到的结果是:
日志:对象对象日志:对象对象,对象对象,对象对象
我不明白?如何查看setValuesArray中的值?我没有安装firebug-lite。我在win 7 64位工作,谢谢
发布于 2012-10-24 15:27:51
我认为使用console.log是更好的方式(与使用警报相比)。
但是,请记住,它的console.log()和alert()都将显示输入参数的字符串表示,对于JS对象,则是"object Object“。
我可以推荐的是坚持使用console.log()的思想,但如果您希望能够在较旧的浏览器(大多数情况下是IE的早期版本)中使用该方法,那么您可能需要阅读本文:http://patik.com/blog/complete-cross-browser-console-log/
此外,当您希望打印描述JS对象内容的字符串时,可以使用JSON.stringify()。因为,在Internet Explorer中,只有7个没有对JSON objecт的原生支持。但是您可以通过在页面中包含json2.js库来轻松地解决这个问题-代码可以在GitHub存储库here中找到。
发布于 2012-10-24 15:16:33
你正在尝试记录对象,这就是为什么你会得到这些输出。尝试下面的日志或对您的对象使用toString方法。
for (var i = setValuesArray.length - 1; i >= 0; i--) {
var array = setValuesArray[i];
console.log("key: "+setValuesArray[i].key+ " value: "+setValuesArray[i].value);
...
}https://stackoverflow.com/questions/13044377
复制相似问题