1. 實(shí)例方法
Console規(guī)范中贴谎,console
總共有17
個(gè)方法,
以下是console
對(duì)象的IDL植兰,
[Exposed=(Window,Worker,Worklet)]
namespace console { // but see namespace object requirements below
// Logging
void assert(optional boolean condition = false, any... data);
void clear();
void count(optional DOMString label = "default");
void debug(any... data);
void error(any... data);
void info(any... data);
void log(any... data);
void table(any tabularData, optional sequence<DOMString> properties);
void trace(any... data);
void warn(any... data);
void dir(any item, optional object? options);
void dirxml(any... data);
// Grouping
void group(any... data);
void groupCollapsed(any... data);
void groupEnd();
// Timing
void time(optional DOMString label = "default");
void timeEnd(optional DOMString label = "default");
};
在Chrome 59.0.3071.115 中万俗,console
總共有17+7
個(gè)方法,
assert clear count debug dir dirxml error group groupCollapsed groupEnd info log markTimeline memory profile profileEnd table time timeEnd timeStamp timeline timelineEnd trace warn
在Safari 10.1.1 (12603.2.4) 中漓骚,有17+4
個(gè)蝌衔,
assert clear count debug dir dirxml error group groupCollapsed groupEnd info log profile profileEnd table takeHeapSnapshot time timeEnd timeStamp trace warn
在Firefox 55.0.1 中,有17+4
個(gè)蝌蹂,
assert clear count debug dir dirxml error exception group groupCollapsed groupEnd info log profile profileEnd table time timeEnd timeStamp trace warn
2. Logging
2.1 assert
功能:
如果斷言失敗噩斟,就在控制臺(tái)上打印消息,否則就略過孤个。
語(yǔ)法:
console.assert(assertion, obj1 [, obj2, ..., objN]);
console.assert(assertion, msg [, subst1, ..., substN]); // c-like message formatting
參數(shù)解釋:
(1)assertion
剃允,是任意的布爾值表達(dá)式,如果是一個(gè)假值,就在控制臺(tái)上顯示消息斥废。
(2)obj1 ... objN
椒楣,控制臺(tái)上可以輸出一系列對(duì)象。
(3)msg
牡肉,一個(gè)模板字符串捧灰,其中可以包含一些表示格式的字符。
(4)subst1 ... substN
荚板,一些用于替換msg
中格式字符的對(duì)象凤壁。
注:
(1)console.assert
可用于Web Workers中。
(2)console.assert
在node中的實(shí)現(xiàn)與瀏覽器不同跪另,
在瀏覽器中,調(diào)用console.assert(false)
會(huì)在控制臺(tái)上打印一條出錯(cuò)消息煤搜,但是不會(huì)影響后續(xù)代碼執(zhí)行免绿,
而在node中,調(diào)用console.assert(false)
會(huì)拋出AssertionError
異常擦盾。
(3)msg
是一個(gè)模板字符串嘲驾,其中可以包含如下格式字符,
%s
迹卢,它的替換者將被轉(zhuǎn)換為字符串辽故,調(diào)用ToString(element)
%d
或%i
,它的替換者將被轉(zhuǎn)換為整數(shù)腐碱,調(diào)用parseInt(element, 10)
%f
誊垢,它的替換者將被轉(zhuǎn)換為浮點(diǎn)數(shù),調(diào)用parseFloat(element)
%c
症见,它的替換者將被添加樣式喂走,例如,
console.log('%c error %c message ',
'color:#fff;background:red;',
'color:white;background:#ccc;')
此外谋作,還有%o
表示optimally useful formatting芋肠,
%O
表示generic JavaScript object formatting,
可參考Common object formats
2.2 clear
功能:
清空控制臺(tái)遵蚜。
語(yǔ)法:
console.clear();
2.3 count
功能:
打印調(diào)用次數(shù)帖池。
語(yǔ)法:
console.count([label]);
參數(shù)解釋:
label
,是一個(gè)可選的字符串吭净,
如果沒有提供睡汹,就打印當(dāng)前行的調(diào)用次數(shù),否則就打印指定label
的調(diào)用次數(shù)攒钳。
2.4 debug
同console.log
帮孔。
2.5 error
功能:
在控制臺(tái)上打印一條錯(cuò)誤消息。
語(yǔ)法:
console.error(obj1 [, obj2, ..., objN]);
console.error(msg [, subst1, ..., substN]);
參數(shù)解釋:
同console.assert
。
注:
console.error
可用于Web Workers中文兢。
2.6 info
功能:
在控制臺(tái)上打印一條information消息晤斩。
語(yǔ)法:
console.info(obj1 [, obj2, ..., objN]);
console.info(msg [, subst1, ..., substN]);
參數(shù)解釋:
同console.assert
。
注:
(1)console.info
可用于Web Workers中姆坚。
2.7 log
功能:
在控制臺(tái)上打印一條日志澳泵。
語(yǔ)法:
console.log(obj1 [, obj2, ..., objN]);
console.log(msg [, subst1, ..., substN]);
參數(shù)解釋:
同console.assert
。
注:
console.log
可用于Web Workers中兼呵。
2.8 table
功能:
語(yǔ)法:
console.table(data [, columns]);
參數(shù)解釋:
(1)data
兔辅,必須是一個(gè)數(shù)組或者對(duì)象。
(2)columns
击喂,可選维苔,一個(gè)數(shù)組,用于表示列名懂昂。
注:
(1)console.table
可用于Web Workers中介时。
(2)如果data
是一個(gè)數(shù)組,則第一列的內(nèi)容是索引凌彬,第二列的內(nèi)容是相應(yīng)的值沸柔,
如果data
是一個(gè)對(duì)象,則第一列的內(nèi)容是屬性名铲敛,第二列的內(nèi)容是相應(yīng)的屬性值褐澎。
(3)data
還可以是一個(gè)復(fù)合對(duì)象,即伐蒋,二維數(shù)組工三,對(duì)象數(shù)組,值為數(shù)組的對(duì)象咽弦,值為對(duì)象的對(duì)象徒蟆,
此時(shí),table會(huì)變成多列(>2)型型,
對(duì)于二維數(shù)組段审,對(duì)象數(shù)組,第一列的內(nèi)容為索引闹蒜,
后面各列的名字為索引(二維數(shù)組)或?qū)傩悦▽?duì)象數(shù)組)寺枉,其內(nèi)容為相應(yīng)的值。
對(duì)于值為數(shù)組的對(duì)象绷落,值為對(duì)象的對(duì)象姥闪,第一列的內(nèi)容為屬性名,
后面各列的名字為索引(值為數(shù)組的對(duì)象)或?qū)傩悦ㄖ禐閷?duì)象的對(duì)象)砌烁,其內(nèi)容為相應(yīng)的值筐喳。
2.9 trace
功能:
在控制臺(tái)上打印調(diào)用棧催式。
語(yǔ)法:
console.trace();
2.10 warn
功能:
在控制臺(tái)上打印一條警告。
語(yǔ)法:
console.warn(obj1 [, obj2, ..., objN]);
console.warn(msg [, subst1, ..., substN]);
參數(shù)解釋:
同console.assert
避归。
注:
console.warn
可用于Web Workers中荣月。
2.11 dir
功能:
在控制臺(tái)上以交互式的方式,打印指定對(duì)象的屬性梳毙。
語(yǔ)法:
console.dir(object);
參數(shù)解釋:
object
哺窄,一個(gè)js對(duì)象。
注:
console.dir
可用于Web Workers中账锹。
2.11 dirxml
功能:
在控制臺(tái)上以交互式的方式萌业,打印指定xml/html元素的樹型結(jié)構(gòu)。
語(yǔ)法:
console.dirxml(object);
參數(shù)解釋:
object
奸柬,一個(gè)js對(duì)象生年。
3. Grouping
3.1 group
功能:
在控制臺(tái)上增加一個(gè)縮進(jìn)層次,打印一條消息廓奕,
后續(xù)所有消息晶框,都在這個(gè)新縮進(jìn)層次中輸出。
語(yǔ)法:
console.group([label]);
參數(shù)解釋:
label
懂从,可選,縮進(jìn)層的名字蹲蒲。
注:
console.group
可用于Web Workers中番甩。
3.2 groupCollapsed
功能:
同console.group
,
不同的是届搁,縮進(jìn)層默認(rèn)折疊缘薛,用戶需要手動(dòng)展開。
語(yǔ)法:
console.groupCollapsed([label]);
參數(shù)解釋:
label
卡睦,縮進(jìn)層的名字宴胧。
注:
console.groupCollapsed
可用于Web Workers中。
3.3 groupEnd
功能:
退出當(dāng)前的縮進(jìn)層次表锻,回到上一層恕齐。
語(yǔ)法:
console.groupEnd();
注:
console.groupEnd
可用于Web Workers中。
4. Timing
4.1 time
功能:
啟動(dòng)一個(gè)計(jì)時(shí)器瞬逊,可以用來跟蹤某個(gè)任務(wù)显歧。
每個(gè)計(jì)時(shí)器可以給定一個(gè)名字,每個(gè)頁(yè)面可以至少包含10000個(gè)計(jì)時(shí)器确镊,
使用指定的計(jì)時(shí)器名調(diào)用console.timeEnd
士骤,會(huì)在控制臺(tái)輸出該計(jì)時(shí)器中記錄的時(shí)間,單位是毫秒蕾域。
語(yǔ)法:
console.time(label);
參數(shù)解釋:
label
拷肌,計(jì)時(shí)器的名字,用于唯一標(biāo)識(shí)該計(jì)時(shí)器。
注:
console.time
可用于Web Workers中巨缘。
4.2 timeEnd
功能:
停止指定的計(jì)時(shí)器添忘,并在控制臺(tái)上輸出該計(jì)時(shí)器中記錄的時(shí)間,單位是毫秒带猴。
語(yǔ)法:
console.timeEnd(label);
參數(shù)解釋:
label
昔汉,指定計(jì)時(shí)器的名字。
注:
console.timeEnd
可用于Web Workers中拴清。