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: nullcancelable: nullclipboardData: nullcurrentTarget: nulldefaultPrevented: nulldispatchConfig: nulleventPhase: nullisDefaultPrevented: nullisPropagationStopped: nullisTrusted: nullnativeEvent: nulltarget: nulltimeStamp: nulltype: null_dispatchInstances: null_dispatchListeners: null_targetInst: null__proto__: SyntheticEvent
console.table()
这个方法需要一个必须参数 data,data 必须是一个数组或者是一个对象;还可以使用一个可选参数 columns。
表格的第一列是 index。如果数据 data 是一个数组,那么这一列的单元格的值就是数组的索引。 如果数据是一个对象,那么它们的值就是各对象的属性名称。 注意(在 FireFox 中)console.table 被限制为只显示1000行(第一行是被标记的索引(原文:labeled index))。
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.assertnotEqual({a: 1}, {a: 2});
console.time
你可以启动一个计时器(timer)来跟踪某一个操作的占用时长。每一个计时器必须拥有唯一的名字,页面中最多能同时运行10,000个计时器。当以此计时器名字为参数调用 console.timeEnd() 时,浏览器将以毫秒为单位,输出对应计时器所经过的时间.