共计 1556 个字符,预计需要花费 4 分钟才能阅读完成。
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。
表格的第一列是 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.assert
notEqual({a: 1}, {a: 2});
console.time
你可以启动一个计时器(timer)来跟踪某一个操作的占用时长。每一个计时器必须拥有唯一的名字,页面中最多能同时运行 10,000 个计时器。当以此计时器名字为参数调用 console.timeEnd() 时,浏览器将以毫秒为单位,输出对应计时器所经过的时间.
https://developer.mozilla.org…https://www.jianshu.com/p/cf2…