控制台 API 參考資料

凱斯巴斯克文
Kayce Basques
索菲亞艾梅利安諾瓦
Sofia Emelianova

使用 Console API 透過 JavaScript 將訊息寫入控制台。如需這個主題的互動式簡介,請參閱「開始使用主控台記錄訊息」一文。

如果需要 debug(function)monitorEvents(node) 等便利方法,這些方法只能透過 Console 取得,請參閱 Console utilities API 參考資料

主控台.assert(運算式, 物件)

記錄層級Error

expression 評估為 false 時,將錯誤寫入主控台。

const x = 5;
const y = 3;
const reason = 'x is expected to be less than y';
console.assert(x < y, {x, y, reason});

主控台.assert() 範例的結果。

console.clear()

清除控制台。

console.clear();

如果已啟用保留記錄功能,console.clear() 就會停用。

或者,您也可以按一下 ALT_TEXT_HERE 圖示來清除控制台

console.count([label])

記錄層級Info

寫入同一行和相同的 label 叫用 count() 的次數。呼叫 console.countReset([label]) 可重設計數。

console.count();
console.count('coffee');
console.count();
console.count();

主控台.count() 範例的結果。

console.countReset([label])

重設計數。

console.countReset();
console.countReset('coffee');

console.createTask(name)

傳回 Task 執行個體,該執行個體將目前的堆疊追蹤與已建立的 task 物件建立關聯。您稍後可以使用這個 task 物件來執行函式 (在以下範例中為 f)。task.run(f) 會執行任意酬載,並將傳回值傳回呼叫端。

// Task creation
const task = console.createTask(name);

// Task execution
task.run(f); // instead of f();

task 會構成建立結構定義與非同步函式結構定義之間的連結。這個連結可讓開發人員工具顯示更優異的非同步作業堆疊追蹤。詳情請參閱「已連結的堆疊追蹤」一文。

主控台.debug(物件 [, 物件, ...])

記錄層級Verbose

console.log(object [, object, ...]) 相同,但記錄層級不同。

console.debug('debug');

主控台.debug() 範例的結果。

console.dir(object)

記錄層級Info

列印指定物件的 JSON 表示法。

console.dir(document.head);

主控台.dir() 範例的結果。

console.dirxml(node)

記錄層級Info

列印 node 子系的 XML 表示法。

console.dirxml(document);

主控台.dirxml() 範例的結果。

主控台.error(物件 [, 物件, ...])

記錄層級Error

object 列印至控制台、將錯誤格式化為錯誤,並包含堆疊追蹤。

console.error("I'm sorry, Dave. I'm afraid I can't do that.");

主控台.error() 範例的結果。

console.group(label)

以視覺化方式將訊息分組,直到呼叫 console.groupEnd(label) 為止。在首次登入控制台時,請使用 console.groupCollapsed(label) 收合群組。

const label = 'Adolescent Irradiated Espionage Tortoises';
console.group(label);
console.info('Leo');
console.info('Mike');
console.info('Don');
console.info('Raph');
console.groupEnd(label);

主控台.group() 範例的結果。

此外,你也可以建立巢狀群組。

const timeline1 = 'New York 2012';
const timeline2 = 'Camp Lehigh 1970';
console.group(timeline1);
console.info('Mind');
console.info('Time');
console.group(timeline2);
console.info('Space');
console.info('Extra Pym Particles');
console.groupEnd(timeline2);
console.groupEnd(timeline1);

巢狀群組。

console.groupCollapsed(label)

console.group(label) 相同,但群組在登入主控台時預設為收合。

console.groupEnd(label)

停止以視覺化方式為郵件分組。請參閱「console.group」。

主控台.info(物件 [, 物件, ...])

記錄層級Info

console.log(object [, object, ...]) 相同。

console.info('info');

主控台.info() 範例的結果。

主控台.log(物件 [, 物件, ...])

記錄層級Info

列印訊息至控制台。

console.log('log');

主控台.log() 範例的結果。

主控台.table(陣列 [, 欄])

記錄層級Info

將物件陣列記錄為資料表。

var people = [
  {
    first: 'René',
    last: 'Magritte',
  },
  {
    first: 'Chaim',
    last: 'Soutine',
    birthday: '18930113',
  },
  {
    first: 'Henri',
    last: 'Matisse',
  }
];
console.table(people);

主控台.table() 範例的結果。

根據預設,console.table() 會記錄所有資料表資料。如要顯示單欄或部分資料欄,您可以使用第二個選用參數,並以字串或字串陣列的形式指定資料欄名稱或名稱。例如:

console.table(people, ['last', 'birthday']);

透過 Console.table() 記錄的資料表中的部分資料欄。

console.time([label])

啟動新的計時器。呼叫 console.timeEnd([label]) 即可停止計時器,並將經過時間輸出到主控台。

console.time();
for (var i = 0; i < 100000; i++) {
  let square = i ** 2;
}
console.timeEnd();

主控台.time() 範例的結果。

console.timeEnd([label])

記錄層級Info

停止計時器。請參閱「console.time()」。

console.trace()

記錄層級Info

將堆疊追蹤列印至主控台。

const first = () => { second(); };
const second = () => { third(); };
const third = () => { fourth(); };
const fourth = () => { console.trace(); };
first();

主控台.trace() 範例的結果。

主控台.warn(物件 [, 物件, ...])

記錄層級Warning

將警告列印至控制台。

console.warn('warn');

主控台.warn() 範例的結果。