使用Console命令调试JS
使用Console命令调试JS一、console 的对象常用的方法
1、console.log(object[, object, ...])
使用频率最高的一条语句:向控制台输出一条消息。支持 C 语言 printf 式的格式化输出。当然,也可以不使用格式化输出来达到同样的目的
2、console.debug(object[, object, ...])
向控制台输出一条信息,它包括一个指向该行代码位置的超链接。
3、console.info(object[, object, ...])
向控制台输出一条信息,该信息包含一个表示“信息”的图标,和指向该行代码位置的超链接。
4、console.warn(object[, object, ...])
同 info。区别是图标与样式不同。
5、console.error(object[, object, ...])
同 info。区别是图标与样式不同。error 实际上和 throw new Error() 产生的效果相同,使用该语句时会向浏览器抛出一个 js 异常。
6、console.assert(expression[, object, ...])
断言,测试一条表达式是否为真,不为真时将抛出异常(断言失败)。
7、console.dir(object)
输出一个对象的全部属性(输出结果类似于 DOM 面板中的样式)。
8、console.dirxml(node)
输出一个 HTML 或者 XML 元素的结构树,点击结构树上面的节点进入到 HTML 面板。
9、console.trace()
输出 Javascript 执行时的堆栈追踪。
10、console.group(object[, object, ...])
输出消息的同时打开一个嵌套块,用以缩进输出的内容。调用 console.groupEnd() 用以结束这个块的输出。
11、console.groupCollapsed()
同 console.group(); 区别在于嵌套块默认是收起的。
12、console.time(name)
计时器,当调用 console.timeEnd(name);并传递相同的 name 为参数时,计时停止,并输出执行两条语句之间代码所消耗的时间(毫秒)。
13、console.profile([title])
与 profileEnd() 结合使用,用来做性能测试,与 console 面板上 profile 按钮的功能完全相同。
14、console.count([title])
输出该行代码被执行的次数,参数 title 将在输出时作为输出结果的前缀使用。
15、console.clear()
清空控制台
二、使用console调试JS脚本实例
1、console.log()
最简单的方法是console.log(),可以用来取代alert()或document.write()。
另外,根据信息的不同性质,console对象还有4种显示信息的方法,分别是一般信息console.info()、除错信息console.debug()、警告提示console.warn()、错误提示console.error()。
例如
console.info("这是info");
console.debug("这是debug");
console.warn("这是warn");
console.error("这是error");
加载时,控制台会显示如下内容
2、占位符
console对象的上面5种方法,都可以使用printf风格的占位符。不过,占位符的种类比较少,只支持字符(%s)、整数(%d或%i)、浮点数(%f)和对象(%o)四种。
例如
console.log("%d年%d月%d日",2011,3,26);
console.log("圆周率是%f",3.1415926);
%o占位符,可以用来查看一个对象内部情况。比如,有这样一个对象
var dog = {} ;
dog.name = "大毛" ;
dog.color = "黄色";
%o占位符的使用
console.log("%o",dog);
显示如图
3、console.dir()查看对象的信息
console.dir()可以显示一个对象所有的属性和方法。
例如
<script type="text/javascript">
var info = {
blog:"ddd",
tel:25422223,
message:"欢迎你使用"
};
console.dir(info);
</script>
4、console.dirxml() 显示某个节点的内容
console.dirxml()用来显示网页的某个节点(node)所包含的html/xml代码。
例如
var table = document.getElementById("table1");
console.dirxml(table);
5、console.assert()判断变量是否是真
console.assert()用来判断一个表达式或变量是否为真。如果结果为否,则在控制台输出一条相应信息,并且抛出一个异常。
例如
var result = 1;
console.assert( result );
var year = 2000;
console.assert(year == 2011 );
6、console.trace()
console.trace()用来追踪函数的调用轨迹。
7、console.time()和console.timeEnd()
用来显示代码的运行时间。
例如
console.time("计时器一");
for(var i=0;i<1000;i++){
for(var j=0;j<1000;j++){}
}
console.timeEnd("计时器一");
效果
8、console.profile()
性能分析(Profiler)就是分析程序各个部分的运行时间,找出瓶颈所在,使用的方法是console.profile()。
例如
console.profile('性能分析器一');
Foo();
console.profileEnd();