Javascript调试利器console的使用方法
一、Console API
Console.assert()
判断第一个参数是否为真,false的话抛出异常并且在console输出相应信息。
()
以参数为标识记录调用的次数,调用时在console打印标识以及调用次数。
()
方法的别称,使用方法可以参考()
()
打印一条以三角形符号开头的语句,可以点击三角展开查看对象的属性。
()
打印一条错误信息,使用方法可以参考 string substitution。
()
error方法的别称,使用方法参考()
()
打印树状结构,配合groupCollapsed以及groupEnd方法;
Collapsed()
使用方法和group相同,不同的是groupCollapsed打印出来的内容默认是折叠的。
End()
结束当前Tree
Console.info()
打印以感叹号字符开始的信息,使用方法和log相同
()
打印字符串,使用方法比较类似C的printf格式输出
()
可以以第一个参数为标识,开始javascript执行过程的数据收集。和chrome控制台选项开Profiles比较类似,具体可参考chrome profiles
End()
配合profile方法,作为数据收集的结束。
()
将数据打印成表格。 [en-US]
()
计时器,接受一个参数作为标识。
End()
接受一个参数作为标识,结束特定的计时器。
()
打印stack trace.
Console.warn()
打印一个警告信息,使用方法可以参考 string substitution。
二、用法
1、
旧版兼容
if(!){ = {log: function(){} }; }
输出对象
var someObject = { str: "Some text", id: 5 };
(someObject);
//Object {str: "Some text", id: 5}
格式化
%s 格式string %d or %i 格式int %f 格式float %o 格式Object对象 %O 格式object对象 %c 格式css
输出对象
("%o",);
("%O",);

("%c",'padding:77px 219px; background:url() no-repeat;line-height:166px;height:166px;');
("%d",5+5);
("%f",);
("%s","This is a good idea");
("%cCss Style","text-shadow:1px 1px 1px rgba(0,0,0,2);font-size:40px");
Google chrome 46.0.2490.71 m 上图片出不来

Firefox 下测试

不过网上有一个有趣的东西 ,chrome自带的有扩展 https://github.com/jffry/-chrome-extension
("");
("");
("");
("");
源代码地址:https://github.com/adriancooney/
2、/
var car = "Dodge Charger";
var someObject = {str:"Some text", id:5};
("My first car was a", car, ". The object is: ", someObject);
for (var i=0; i<5; i++) {
("Hello, %s. You've called me %d times.", "Bob", i+1);
}
("I want to print a number:%d","string")

3、///
("This is the outer level");
();
("Level 2");
();
("Level 3");
("More of level 3");
End();
("Back to level 2");
End();
("Back to the outer level");
("answer time");
alert("Click to continue");
End("answer time");

4、 在页面console文档中查看堆栈跟踪的详细介绍和示例.这个比较好用
foo();
function foo() {
function bar() {
();
}
bar();
}

5、//xml//
var list = ('');
(list[0].childNodes.length > 10 , "Oops,this is small");
function login(user) {
("Login called for user '" + user + "'");
}
login("join");
login("join");
login("join");
login("chen");
();
function connectToServer() {
var errorCode = 1;
if (errorCode) {
("Error: %s (%i)", "Server is not responding", 500);
}
}
connectToServer();
var list = ("");
xml(list[0]);

6、Other Command Line API
inspect(.firstChild);
getEventListeners(document);
var player1 = { "name": "Ted", "level": 42}
keys(player1);
function sum(x, y) { return x + y;}
monitor(sum);
monitorEvents(window, "resize");

7、debugger 非常好用的一个工具
brightness = function() {
debugger;
var r = (*255);
var g = (*255);
var b = (*255);
return (r * 77 + g * 150 + b * 29) >> 8;
}
brightness();

调试的时候还可以加断点什么的……
8、jquery相关 firequery
$.fn.log = function() {
if ( && ) {
(this);
}
return this;
}
$('').find(':baz').log().hide();
这样就可以 easily check inside jQuery chains.







