JavaScript-console的使用

onsole 对象提供对浏览器控制台的接入(如:Firefox 的 Web Console)。不同浏览器上它的工作方式是不一样的,但这里会介绍一些大都会提供的接口特性。

Console对象可以在任何全局对象中访问,如 Window,WorkerGlobalScope 以及通过属性工作台提供的特殊定义。

它被浏览器定义为 Window.console,也可被简单的 console 调用。

方法

console.log()

console.log(obj1 [, obj2, ..., objN);
console.log(msg [, subst1, ..., substN);
console.log('String: %s, Int: %d,Float: %f, Object: %o', str, ints, floats, obj)
console.log(`temp的值为: ${temp}`)

对于打印对象数据的时候要注意:
原来浏览器在打印对象的时候只是打印的一个对象快照信息,当你在控制台点击展开对象的时候,浏览器才会去读这个对象具体属性,但是那个时候,这段代码早就已经运行完了

类似出现这种,都为null的情况:

SyntheticClipboardEvent {dispatchConfig: {…}, _targetInst: ReactDOMComponent, nativeEvent: ClipboardEvent, type: "paste", target: input, …}
bubbles: null
cancelable: null
clipboardData: null
currentTarget: null
defaultPrevented: null
dispatchConfig: null
eventPhase: null
isDefaultPrevented: null
isPropagationStopped: null
isTrusted: null
nativeEvent: null
target: null
timeStamp: null
type: null
_dispatchInstances: null
_dispatchListeners: null
_targetInst: null
__proto__: SyntheticEvent

 console.table()

这个方法需要一个必须参数 data,data 必须是一个数组或者是一个对象;还可以使用一个可选参数 columns。

clipboard.png

表格的第一列是 index。如果数据 data 是一个数组,那么这一列的单元格的值就是数组的索引。 如果数据是一个对象,那么它们的值就是各对象的属性名称。 注意(在 FireFox 中)console.table 被限制为只显示1000行(第一行是被标记的索引(原文:labeled index))。

clipboard.png

console.assert()

console.assert为断言输出。第一个参数的表达式值为false时,则打印输出后面参数的值,否则为 true,则无输出并继续执行程序。例如:

function notEqual(a, b) {
    console.assert(a === b, {
        msg: 'a is not equal b', 
        a: a,
        b: b
    });
}

// console.assert
notEqual({a: 1}, {a: 2});

console.time

你可以启动一个计时器(timer)来跟踪某一个操作的占用时长。每一个计时器必须拥有唯一的名字,页面中最多能同时运行10,000个计时器。当以此计时器名字为参数调用 console.timeEnd() 时,浏览器将以毫秒为单位,输出对应计时器所经过的时间.

https://developer.mozilla.org...

https://www.jianshu.com/p/cf2...


xiaoping
337 声望12 粉丝

保持学习,记一下自己的学习经历