控制台 API 參考資料

Kayce Basques
Kayce Basques
Sofia Emelianova
Sofia Emelianova

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

如要尋找 debug(function) 或 monitorEvents(node) 等便利方法 (僅適用於控制台),請參閱 Console Utilities API 參考資料。

console.assert(expression, object)

記錄層級: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});

上述 console.assert() 範例的結果。

console.clear()

清除控制台。

console.clear();

如果啟用「Preserve Log」,系統會停用 console.clear()。

或者,您也可以點按 ALT_TEXT_HERE 圖示清除控制台。

console.count([label])

記錄層級:Info

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

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

上述 console.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 會在建立情境和非同步函式的情境之間建立連結。這個連結可讓開發人員工具顯示更清楚的非同步作業堆疊追蹤。詳情請參閱「連結的堆疊追蹤」。

console.debug(object [, object, ...])

記錄層級:Verbose

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

console.debug('debug');

上述 console.debug() 範例的結果。

console.dir(object)

記錄層級:Info

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

console.dir(document.head);

上述 console.dir() 範例的結果。

console.dirxml(node)

記錄層級:Info

列印 node 子系的 XML 表示法。

console.dirxml(document);

上述 console.dirxml() 範例的結果。

console.error(object [, object, ...])

記錄層級:Error

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

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

上述 console.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);

上述 console.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」。

console.info(object [, object, ...])

記錄層級:Info

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

console.info('info');

上述 console.info() 範例的結果。

console.log(object [, object, ...])

記錄層級:Info

在控制台中輸出訊息。

console.log('log');

上述 console.log() 範例的結果。

console.table(array [, columns])

記錄層級:Info

以表格形式記錄物件陣列。

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

上述 console.table() 範例的結果。

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

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

使用 console.table() 記錄的資料表部分資料欄。

如要將記錄的表格複製到剪貼簿,並格式化為 Markdown 表格或 CSV 資料,請在「控制台」中的表格上按一下滑鼠右鍵,然後從內容選單中選取對應的複製選項。

console.time([label])

開始新的計時器。呼叫 console.timeEnd([label]) 可停止計時器,並將經過的時間列印到控制台。

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

上述 console.time() 範例的結果。

console.timeEnd([label])

記錄層級:Info

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

console.trace()

記錄層級:Info

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

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

上述 console.trace() 範例的結果。

console.warn(object [, object, ...])

記錄層級:Warning

在控制台中顯示警告。

console.warn('warn');

上述 console.warn() 範例的結果。