--- title: Performance.mark() slug: Web/API/Performance/mark tags: - 性能 - 性能追踪 translation_of: Web/API/Performance/mark ---

{{APIRef("User Timing API")}}

mark() 方法在浏览器的性能缓冲区中使用给定名称添加一个{{domxref("DOMHighResTimeStamp","timestamp(时间戳)")}}

应用定义的时间戳可以通过 {{domxref("Performance")}} 接口的一个 getEntries*() 方法({{domxref("Performance.getEntries","getEntries()")}}, {{domxref("Performance.getEntriesByName","getEntriesByName()")}} 或者 {{domxref("Performance.getEntriesByType","getEntriesByType()")}})检索到。

标记 的 {{domxref("PerformanceEntry","performance entry")}}将具有以下属性值:

如果这个方法被指定的 name 已经存在于{{domxref("PerformanceTiming")}} 接口, 会抛出一个{{jsxref("SyntaxError")}}错误。

语法

performance.mark(name);

参数

name
一个表示标记名称的{{domxref("DOMString")}}。

返回值

 无
 

实例

下面的示例演示如何使用 mark() 来创建和检索{{domxref("PerformanceMark")}}条目。

 

// 创建一些标记。
performance.mark("squirrel");
performance.mark("squirrel");
performance.mark("monkey");
performance.mark("monkey");
performance.mark("dog");
performance.mark("dog");

// 获取所有的 PerformanceMark 条目。
const allEntries = performance.getEntriesByType("mark");
console.log(allEntries.length);
// 6

// 获取所有的 "monkey" PerformanceMark 条目。
const monkeyEntries = performance.getEntriesByName("monkey");
console.log(monkeyEntries.length);
// 2

// 删除所有标记。
performance.clearMarks();

 

规范

规范 状态 注释
{{SpecName('User Timing Level 2', '#dom-performance-mark', 'mark()')}} {{Spec2('User Timing Level 2')}} 阐明 mark() 处理模型。
{{SpecName('User Timing', '#dom-performance-mark', 'mark()')}} {{Spec2('User Timing')}} 基础定义。

浏览器兼容

{{CompatibilityTable}}
Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic Support {{CompatChrome(43.0)}} {{CompatVersionUnknown}} 41 10 33 {{CompatNo}}
Feature Android Android Webview Edge Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile Chrome for Android
Basic Support {{CompatNo}} {{CompatChrome(46.0)}} {{CompatVersionUnknown}} 42 42 10 33 {{CompatNo}} {{CompatChrome(46.0)}}