javascript 中的console.log有什么作用啊?是做什么的呢?谢谢大家

JavaScript036

javascript 中的console.log有什么作用啊?是做什么的呢?谢谢大家,第1张

大家都有用过各种类型的浏览器,每种浏览器都有自己的特色,本人拙见,在我用过的浏览器当中,我是最喜欢Chrome的,因为它对于调试脚本及前端设计调试都有它比其它浏览器有过之而无不及的地方。可能大家对console.log会有一定的了解,心里难免会想调试的时候用alert不就行了,干嘛还要用console.log这么一长串的字符串来替代alert输出信息呢,下面我就介绍一些调试的入门技巧,让你爱上console.log

先的简单介绍一下chrome的控制台,打开chrome浏览器,按f12就可以轻松的打开控制台

大家可以看到控制台里面有一首诗还有其它信息,如果想清空控制台,可以点击左上角那个来清空,当然也可以通过在控制台输入console.clear()来实现清空控制台信息。如下图所示

现在假设一个场景,如果一个数组里面有成百上千的元素,但是你想知道每个元素具体的值,这时候想想如果你用alert那将是多惨的一件事情,因为alert阻断线程运行,你不点击alert框的确定按钮下一个alert就不会出现。

下面我们用console.log来替换,感受一下它的魅力。

看了上面这张图,是不是认识到log的强大之处了,下面我们来看看console里面具体提供了哪些方法可以供我们平时调试时使用。

目前控制台方法和属性有:

["$$", "$x", "dir", "dirxml", "keys", "values", "profile", "profileEnd", "monitorEvents", "unmonitorEvents", "inspect", "copy", "clear", "getEventListeners", "undebug", "monitor", "unmonitor", "table", "$0", "$1", "$2", "$3", "$4", "$_"]

下面我们来一一介绍一下各个方法主要的用途。

一般情况下我们用来输入信息的方法主要是用到如下四个

1、console.log 用于输出普通信息

2、console.info 用于输出提示性信息

3、console.error用于输出错误信息

4、console.warn用于输出警示信息

5、console.debug用于输出调试信息

用图来说话

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 = "黄色"console.log("%o", dog)

6、console.dirxml用来显示网页的某个节点(node)所包含的html/xml代码

<body>

<table id="mytable">

<tr>

<td>A</td>

<td>A</td>

<td>A</td>

</tr>

<tr>

<td>bbb</td>

<td>aaa</td>

<td>ccc</td>

</tr>

<tr>

<td>111</td>

<td>333</td>

<td>222</td>

</tr>

</table>

</body>

<script type="text/javascript">

window.onload = function () {

var mytable = document.getElementById(‘mytable‘)

console.dirxml(mytable)

}

</script>

7、console.group输出一组信息的开头

8、console.groupEnd结束一组输出信息

看你需求选择不同的输出方法来使用,如果上述四个方法再配合group和groupEnd方法来一起使用就可以输入各种各样的不同形式的输出信息。

java没有清空的方法。

可以使用替代的方法:通过输出空行,达到清屏。例如:

for(int i=0i<400i++){

System.out.println("")//输出400行空行

}

其实输出的是你自己想看的,不想输出就不会显示。

如果你想把已经输出的控制台让他空掉的话,随便写个类里面输出System.out.print("");

不过这样是多此一举,因为你下面要进行其他代码的调试编译时是不会受到之前的消息的影响的

有,你可以看看process.stdin的帮助。

process.stdin.setEncoding('utf8')

process.stdin.on('readable', () => {

  var chunk = process.stdin.read()

  if (chunk !== null) {

    process.stdout.write(`data: ${chunk}`)

  }

})

process.stdin.on('end', () => {

  process.stdout.write('end')

})