在日常调试程序中,alert 和 console.log我们都会经常用到。简言之,alert()会在在浏览器界面弹出消息提示框;console.log()会在控制台里打印日志。他们又有什么区别?
alert()
- 有阻断作用,不点击确定,后续代码就无法执行;
- 只能输出string,如果输出的是对象则会调用toString()方法;
alert([1,2,3]); // “1,2,3” - 不支持多个参数的写法,若有多个只输出第一个。alert(2,4,6); // 2
console.log()
- 直接在打印台输出,不会阻塞后面代码的执行;
- 可以输出任何类型的数据;
- 支持多个参数的写法。
console.log()更多用法
在具备调试功能的浏览器上,window对象中会注册一个名为console的成员变量,指代调试工具中的控制台。通过调用该console对象的log()函数,可以在控制台中打印信息。
显示信息命令
console.log()是最简单的方法。
除此之外,根据信息的不同性质,console对象还有4种显示信息的方法,分别是一般信息console.info()、除错信息console.debug()、警告提示console.warn()、错误提示console.error()。
在控制台输入以下代码:
console.info("这是info");
console.debug("这是debug");
console.warn("这是warn");
console.error("这是error");
加载时就会出现下列信息,可以看到,不同性质的信息前面会有不同的图标。
占位符
console方法,可以使用printf风格的占位符。支持字符(%s)、整数(%d或%i)、浮点数(%f)和对象(%o)四种。
栗子:
console.log("%d年%d月%d日",2016,11,10);
console.log("圆周率是%f",3.1415926);
console.log("我的昵称叫做%s","半亩方塘");
分组显示
如果需要显示的信息太多,可以控制分组显示。需要用到console.group()和console.groupEnd()方法。
console.group("第1组信息");
console.log("第1组第1条");
console.groupEnd();
console.group("第2组信息");
console.log("第2组第1条");
console.groupEnd();
console.dir()
console.dir()可以显示一个对象所有的属性和方法。
var panda = {};
panda.skin = "black and white";
panda.age = 5;
panda.move = function(){
alert("666");
}
计时功能
console.time()和console.timeEnd(),用来显示代码的运行时间。
console.time("计时器");
for(var i=0;i<1000;i++){
for(var j=0;j<1000;j++){}
}
console.timeEnd("计时器");
未完待续。。。