首页 > 编程语言 > 详细

JavaScript快捷函数系列之常规函数-console

时间:2017-01-11 10:19:38      阅读:268      评论:0      收藏:0      [点我收藏+]

Console中常用的方法:

(1)console.log()/console.info()/console.warn()/console.error()/console.debug() 可以打印不同类型的值。

console对象的上面5种方法,都可以使用printf风格的占位符。不过,占位符的种类比较少,只支持字符(%s)、整数(%d或%i)、浮点数(%f)和对象(%o, %O)四种。其中,%o占位符,可以用来查看一个对象内部情况。

注:console.log(‘%o‘, document.body)等同于按照console.log(document.body)显示,如果是使用‘%O‘则有所不同,它等同于console.dir(document.body). 对于普通的对象则没有差别。

(2)console.table()

可以用于打印对象或数组,在控制器中会以表格的形式显示,属性值都是整齐排列的。
不同于console.log()的树视图,不用每次都手动折叠查看信息。

如果只想显示某一属性,可以将这个属性作为第二个参数传入即可:
console.table(obj, ‘name‘)
显示多个属性,则传入属性的数组,
console.table(obj, [‘name‘, ‘age‘]);

(3)console.group()/console.groupEnd()

作用:如果要输出的信息太多,可以分组显示。

console.group(‘第一组‘);
    console.log(‘一组一条‘);
    console.log(‘一组一条‘);
console.groupEnd();

console.group(‘第二组‘);
    console.log(‘二组一条‘);
    console.log(‘二组一条‘);
console.groupEnd();

 (4)console.assert()

作用:对输入的表达式进行断言,只有表达式为false时,才输出相应的信息到控制台。

var year = 2018
console.assert(year == 2017, ‘当前者为false时输出错误‘);

 (5)console.count()

作用:当你想统计代码被执行的次数可以使用,这个方法非常实用!!!

function exec() {
    console.count(‘代码被执行的次数:‘);
} 

 

其他不常使用的方法:

(1)console.clear()

作用:在控制台输入来实现清空控制台信息。

(2)console.dirxml()

作用:显示网页的某个节点(node)所包含的html/xml代码
比如,先获取一个表格,再显示该节点包含的代码。
var table = document.getElementById(‘table1‘);
console.dirxml(table);
或者直接使用id显示:
console.dirxml(table1);

(3)console.dir()

作用:显示一个对象的所有属性和方法。对DOM结构以对象的方式输出。
console.dir(document.body);

它与console.log()等方法的区别在于,console.log(document.body)只是输出html文档,而console.dir(document.body)则是转换为对象显示。

(4)console.time()/console.timeEnd()

作用:计时

// 计算实例化100000个对象所需的时间 Init Array: 57.504ms (时间每次都会不一致)
console.time(‘Init Array‘);    // lable : ‘Init Array‘
var array = new Array(100000);
for(var i=0; i<array.length; i++){
    array[i] = new Object();
}
console.timeEnd(‘Init Array‘);
// 传统的时间差计时:59
var start = new Date().getTime();
var array = new Array(100000);
for(var i=0; i<array.length; i++){
    array[i] = new Object();
}
time = new Date().getTime() - start;
console.log(time)

 (5)console.profile()/console.profileEnd()

作用:查看性能信息,分析程序各个部分运行的时间,找出瓶颈。配合一起使用来查看CPU使用相关信息,在Profiles面板里面查看。

console.profile(‘Init Array‘);
var array = new Array(100000);
for(var i=0; i<array.length; i++){
    array[i] = new Object();
}
console.profileEnd(‘Init Array‘);

   [ 这个函数的使用方法需要继续深入。]

其结果可以存储,一般默认后缀为.cpuprofile,打开是JSON数据。也可以在Profiles中load进来。

(6)console.trace

作用:堆栈跟踪相关的调试,用来跟踪函数的调用轨迹。

比如我想知道某个函数的执行轨迹,可以再其中加入console.trace()方法。

function add(num1, num2) {console.trace(); return num1 + num2;}
function add3(num1, num2) {return add2(num1, num2);}
function add2(num1, num2) {return add1(num1, num2);}
function add1(num1, num2) {return add(num1, num2);}
var a = add3(1, 10);

   从上到下,依次显示add()的调用轨迹:add() <-- add1() <-- add2() <-- add3() <-- <匿名>

add() demo.js:6
add1() demo.js:16
add2() demo.js:13
add3() demo.js:10
<匿名> demo.js:19

 (7) console.timeStamp(label)

Log a time stamp with the given label. May be logged to the console or a timeline.

 

控制台操作: 

(1)$_ 表示上一次执行的结果,$0~$4则代表了最近5个选择过的DOM节点。

在审查元素时点击DOM结点树的节点后,这些被点击过的节点会被记录下来,$0会返回最近一次点选的DOM结点,以此类推,$1返回的是上上次点选的DOM节点,最多保存了5个,如果不够5个,则返回undefined。

(2)Chrome 控制台中原生支持类jQuery的选择器,即我们可以用$加上熟悉的css选择器来选择DOM节点。

如: $(‘#cont‘)

(3)copy()

通过此命令可以将在控制台获取到的内容复制到剪贴板。
如copy(document.body) 就可以将body中的HTML复制到sublime中。

(4)keys和values

前者返回传入对象所有属性名组成的数据,后者返回所有属性值组成的数组。

var obj = {
    name: ‘shiddong‘,
    country: ‘China‘,
    city: ‘shanghai‘
};
keys(obj);        // [‘name‘, ‘country‘, ‘city‘]
values(obj);    // [‘shiddong‘, ‘China‘, ‘shanghai‘]

 

Refer:

Chrome 控制台console的用法 : http://www.open-open.com/lib/view/open1421131601390.html

The JavaScript console API : http://www.2ality.com/2013/10/console-api.html

Chrome console : http://www.cnblogs.com/liyunhua/p/4529079.html

 

JavaScript快捷函数系列之常规函数-console

原文:http://www.cnblogs.com/shih/p/6272430.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!