console.log
是调试时我经常使用的.
我能够找到这个jQuery extension
.
console.log
是调试时我经常使用的.
我能够找到这个jQuery extension
.
您可以使用非常容易的反射来列出所有属性,方法和值.
对于基于Gecko的浏览器,您可以使用.toSource()方法:
var data = new Object(); data["firstname"] = "John"; data["lastname"] = "Smith"; data["age"] = 21; alert(data.toSource()); //Will return "({firstname:"John", lastname:"Smith", age:21})"
但是既然你使用Firebug,为什么不使用console.log呢?
怎么样的:
function print_r(o){ return JSON.stringify(o,null,'\t').replace(/\n/g,'
').replace(/\t/g,' '); }
你也可以
console.log("a = %o, b = %o", a, b);
其中a和b是对象.
我已经制作了一个相当于的jQuery插件
您可以在https://github.com/tomasvanrijsse/jQuery.dump下载它
热门评论与Firebug的console.log文档有一个断开的链接,所以这里有一个关于控制台的wiki文章的链接.我开始使用它并且非常满意它作为PHP的print_r()的替代品.
另外值得注意的是,即使没有手动记录它们,Firebug也可以访问返回的JSON对象:
在控制台中,您可以看到AJAX响应的URL.
单击三角形以展开响应并查看详细信息.
单击详细信息中的JSON选项卡.
您将看到使用扩展三角形组织的响应数据.
这种方法需要更多点击才能获得数据,但不需要在实际的javascript中添加任何内容,也不会将你的焦点从Firebug中移出控制台(使用console.log创建一个指向firebug的DOM部分的链接) ,强迫你点击回到控制台后).
对于我的钱,当我想要检查而不是弄乱日志时,我宁愿再点击几次,特别是因为不加任何额外的残留使得控制台保持整洁.
$.each(myobject, function(key, element) { alert('key: ' + key + '\n' + 'value: ' + element); });
这对我有用.:)