--- title: Performance.mark() slug: Web/API/Performance/mark tags: - 性能 - 性能追踪 translation_of: Web/API/Performance/mark --- <p>{{APIRef("User Timing API")}}</p> <p><strong><code>mark()</code></strong> 方法在浏览器的性能缓冲区中使用给定名称添加一个{{domxref("DOMHighResTimeStamp","timestamp(时间戳)")}} <em>。</em></p> <p><em>应用</em>定义的时间戳可以通过 {{domxref("Performance")}} 接口的一个 <code>getEntries*()</code> 方法({{domxref("Performance.getEntries","getEntries()")}}, {{domxref("Performance.getEntriesByName","getEntriesByName()")}} 或者 {{domxref("Performance.getEntriesByType","getEntriesByType()")}})检索到。</p> <p><code>标记</code> 的 {{domxref("PerformanceEntry","performance entry")}}将具有以下属性值:</p> <ul> <li>{{domxref("PerformanceEntry.entryType","entryType")}} - 设置为 "<code>mark</code>".</li> <li>{{domxref("PerformanceEntry.name","name")}} - 设置为mark被创建时给出的 "<font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">name</span></font>"。</li> <li>{{domxref("PerformanceEntry.startTime","startTime")}} - 设置为 <code>mark()</code> 方法被调用时的 {{domxref("DOMHighResTimeStamp","timestamp")}} 。</li> <li>{{domxref("PerformanceEntry.duration","duration")}} - 设置为 "<code>0</code>" (标记没有持续时间).</li> </ul> <p>如果这个方法被指定的 <code>name</code> 已经存在于{{domxref("PerformanceTiming")}} 接口, 会抛出一个{{jsxref("SyntaxError")}}错误。</p> <h2 id="语法">语法</h2> <pre class="syntaxbox"><em>performance</em>.mark(name); </pre> <h3 id="参数">参数</h3> <dl> <dt>name</dt> <dd>一个表示标记名称的{{domxref("DOMString")}}。</dd> </dl> <h3 id="返回值">返回值</h3> <dl> <dt> 无</dt> <dd> </dd> </dl> <h2 id="实例">实例</h2> <p>下面的示例演示如何使用 <code>mark()</code> 来创建和检索{{domxref("PerformanceMark")}}条目。</p> <p> </p> <pre class="brush: js">// 创建一些标记。 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();</pre> <p> </p> <h2 id="规范">规范</h2> <table class="standard-table"> <tbody> <tr> <th scope="col">规范</th> <th scope="col">状态</th> <th scope="col">注释</th> </tr> <tr> <td>{{SpecName('User Timing Level 2', '#dom-performance-mark', 'mark()')}}</td> <td>{{Spec2('User Timing Level 2')}}</td> <td>阐明 <code>mark()</code> 处理模型。</td> </tr> <tr> <td>{{SpecName('User Timing', '#dom-performance-mark', 'mark()')}}</td> <td>{{Spec2('User Timing')}}</td> <td>基础定义。</td> </tr> </tbody> </table> <h2 id="浏览器兼容">浏览器兼容</h2> {{Compat("api.Performance.mark")}}