富贵资源网 Design By www.hznty.com
以前javascript对于IO的支持很弱,不能写入相应的文本文件中,而且异常对象Error也不统一,无法打印详细的堆栈。自定义异常对象是个非常不讨好的方法,因为通常我们只看到其message属性,再者,其他自定义属性需要用最慢的for...in循环遍历出来。这时没有办法了,我们只有求助于浏览器的各种私有实现,如firefox就有console.log。下面是console对象的方法列表,关于firebug更详细的使用可见这篇文章。
函数
说明
log(obj[, obj, ...])
向控制台输出一个信息。可以输入多个参数,输出将已空格分隔各参数输出。
第一参数可以包含格式化文本,例如:
log(‘这里有%d个%s',count,apple);
字符串格式:
%s:字符串。
%d, %i:数字。
%f: 浮点数。
%o -超链接对象。
debug(obj[, obj, ...]) 向控制台输出一个信息,信息包含一个超链接链接到输出位置。 info(obj[, obj, ...]) 向控制台输出一个带信息图标和背景颜色的信息,信息包含一个超链接链接到输出位置。 warn(obj[, obj, ...]) 向控制台输出一个带警告图标和背景颜色的信息,信息包含一个超链接链接到输出位置。 error(obj[, obj, ...]) 向控制台输出一个带错误图标和背景颜色的信息,信息包含一个超链接链接到输出位置。 assert(expression[, obj, ...]) 测试一个表示是否为true,如果为false,提交一个例外信息到控制台。 dir(obj) 列出对象的所有属性。 dirxml(node) 列出HTML或XML Element的XML源树。 trace() 输出堆栈的调用入口。 group(obj[, obj, ...]) 将信息分组再输出到控制台。通过groupEnd()结束分组。 groupEnd() 结束分组输出。 time(name) 创建一个名称为name的计时器,计算代码的执行时间,调用timeEnd(name)停止计时器并输出执行时间。 timeEnd(name) 停止名称为name的计时器并输出执行时间。 profile([title]) 开始对脚本进行性能测试,title为测试标题。 profileEnd() 结束性能测试。 count([title]) 计算代码的执行次数。titile作为输出标题。
firebug就自不多说了,IE8也有console.log,不过这需要按下F12,进入调试模式时才有效,不然报错。为了不报错,平时我们应该实现一个空对象来覆盖它。
复制代码 代码如下:
if (!window.console ){
window.console = {};
var methods = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
"group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"],
noop = function(){}
for (var i = 0,method;method=methods[i++];)
window.console[method] = noop;
}
大概opera9.5x之后吧,多了一个叫Dragonfly的东东。显然,它无法与firebug花样繁多的日志输出相比,它只提供了一个opera.postError方法。
复制代码 代码如下:
if (window.opera && opera.postError) {
opera.postError(message);
}
safari也有console.log,它是基于其Web Inspector组件,感觉与firefox差不多,但我不是水果党,不知道其方法有没有firebug那么多……对于浏览器新贵chrome,现在我们可以在其扩展程序搜索安装firebug的chrome版本。
第一参数可以包含格式化文本,例如:
log(‘这里有%d个%s',count,apple);
字符串格式:
%s:字符串。
%d, %i:数字。
%f: 浮点数。
%o -超链接对象。
debug(obj[, obj, ...]) 向控制台输出一个信息,信息包含一个超链接链接到输出位置。 info(obj[, obj, ...]) 向控制台输出一个带信息图标和背景颜色的信息,信息包含一个超链接链接到输出位置。 warn(obj[, obj, ...]) 向控制台输出一个带警告图标和背景颜色的信息,信息包含一个超链接链接到输出位置。 error(obj[, obj, ...]) 向控制台输出一个带错误图标和背景颜色的信息,信息包含一个超链接链接到输出位置。 assert(expression[, obj, ...]) 测试一个表示是否为true,如果为false,提交一个例外信息到控制台。 dir(obj) 列出对象的所有属性。 dirxml(node) 列出HTML或XML Element的XML源树。 trace() 输出堆栈的调用入口。 group(obj[, obj, ...]) 将信息分组再输出到控制台。通过groupEnd()结束分组。 groupEnd() 结束分组输出。 time(name) 创建一个名称为name的计时器,计算代码的执行时间,调用timeEnd(name)停止计时器并输出执行时间。 timeEnd(name) 停止名称为name的计时器并输出执行时间。 profile([title]) 开始对脚本进行性能测试,title为测试标题。 profileEnd() 结束性能测试。 count([title]) 计算代码的执行次数。titile作为输出标题。
firebug就自不多说了,IE8也有console.log,不过这需要按下F12,进入调试模式时才有效,不然报错。为了不报错,平时我们应该实现一个空对象来覆盖它。
复制代码 代码如下:
if (!window.console ){
window.console = {};
var methods = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
"group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"],
noop = function(){}
for (var i = 0,method;method=methods[i++];)
window.console[method] = noop;
}
大概opera9.5x之后吧,多了一个叫Dragonfly的东东。显然,它无法与firebug花样繁多的日志输出相比,它只提供了一个opera.postError方法。
复制代码 代码如下:
if (window.opera && opera.postError) {
opera.postError(message);
}
safari也有console.log,它是基于其Web Inspector组件,感觉与firefox差不多,但我不是水果党,不知道其方法有没有firebug那么多……对于浏览器新贵chrome,现在我们可以在其扩展程序搜索安装firebug的chrome版本。
富贵资源网 Design By www.hznty.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
富贵资源网 Design By www.hznty.com
暂无评论...