断言
//断言的语法
console.assert(expression[, object, ...]);
//测试表达式,值为true时什么都不发生
console.assert(true, 'no problem');
//测试表达式,值为false时将抛出异常,并随带堆栈
console.assert(false, 'show a error here');
//断言失败用的显示参数,不能用printf的语法
console.assert(false, '1 %d 2', 3);
//输出 Assertion failed: 1 %d 2 3
不想抛一个异常,但是还是想看下当前执行位置的堆栈
//紧跟着log后输出trace()可以显示一条显示堆栈的信息
console.trace();
//例
function step1(){ step2(); }
function step2(){ console.trace(); }
step1();
格式化log消息
//开始一个log分组
console.group('Group %d', 1);
console.log('message 1');
console.log('message 2');
console.log('message 3');
//结束分组
console.groupEnd()
console.groupCollapsed('Group %d', 2);;
console.log('message 1');
console.log('message 2');
console.log('message 3');
//结束分组
console.groupEnd()
计时器
//用一对方法来测试所花费时间
console.time('try randomize');
for (var i=0; i<99999; i++) {
Math.random(i);
}
console.timeEnd('try randomize');
性能测试
//产生一个profile报告
console.profile('try randomize');
for (var i=0; i<99999; i++) {
Math.random(i);
}
//生成完成后,到profile面板查看
console.profileEnd('try randomize');
计数器
//指定一个title,每调用一次就加1
for (var i=0; i<20; i++) {
console.count('tru count');
}
清空控制台
console.clear()
简化的DOM命令
//document.getElementsByTagName('tagname')[0];
$('tagname');
//document.getElementById('id');
$('#id');
//document.getElementsByClassName('selector')[0];
$('.selector');
//document.getElementsByTagName('tagname');
$$('tagname');
//[document.getElementById('id')];
$$('#id');
//document.getElementsByClassName('selector');
$$('.selector');
其它DOM工具
//用XPath定位DOM元素或XML
$x('/html/body/div');
//在Elements面板中选中的元素
$0
//上一次在Elements面板中选中的元素
$1
//类推
$2
//返回最后被选择的元素
$n(index)
JS工具
//自动选择面板来显示内容
inspect(object);
//返回一个对象的所有key
keys(object);
//返回一个对象的所有values
values(object);
//监视某个方法。当方法被调用的时候自动停下来
debug(fn);
//移附近监视
undebug(fn);
//监视指定元素的指定事件
//事件发生时,事件对象会在console中输出。
//如果不指定第二个参数,将对所有事件进行记录。
monitorEvents(document.getElementById('test'),['click'])
执行时断点
//在代码里加入debugger命令,在打开console的情况下执行到此处会停下来
debugger;