高解像度時間APIの発見
コアポイント
- 高解像度APIは、システムクロック偏差または調整の影響を受けない、現在の時間を提供するJavaScriptインターフェースであり、従来の
Date.now()
メソッドよりも信頼性の高い正確なパフォーマンス測定オプションを提供します。 - 高解像度の時間APIは、すべてのブラウザーによって広くサポートされておらず、主にInternet Explorer 10、Firefox 15(refixed)、およびChrome 20(「WebKit」プレフィックスを使用)をサポートしています。関数を使用して、ブラウザのサポートとプレフィックスの使用をテストすることをお勧めします。
- 開発者は、コード構造を大幅に変更せずに
Date.now()
をperformance.now()
に置き換えることで、高解像度の時間APIをコードに簡単に統合できます。
今日の世界では、パフォーマンスが重要です。開発者は、ソフトウェアのパフォーマンスを正確に測定できる必要があります。 Web開発に従事している人には、W3Cが確実に時間カウントするための新しいAPIを提供します。これは高解像度の時間APIです。この記事では、高解像度の時間APIを調べて、それを使用する方法を示します。 関数のパフォーマンスを測定するために、JavaScriptメソッドの使用に使用されるWeb開発者。通常、タイミングコードは次のようになります:
Date.now()
var startTime = Date.now(); // 一个耗时的函数 foo(); var test1 = Date.now(); // 另一个耗时的函数 bar(); var test2 = Date.now(); // 打印结果 console.debug("Test1 time: " + (test1 - startTime)); console.debug("Test2 time: " + (test2 - test1));
これは、1つの方法しか含まれていないために読んだ最も簡単なAPIであることを認めなければなりません。このAPIは、ナビゲーションタイミングAPIでも使用されるパフォーマンスインターフェイスを拡張します。聞いたことがない場合は、ナビゲーションタイミングAPI:Pageの読み込みを効果的に分析する方法をご覧ください。露出する唯一の方法は 互換性
)です。 Chromeは、バージョン24から始まる未定のバージョンを使用しているようです。執筆時点では、このAPIをサポートするモバイルブラウザはありません。サポート範囲は広くないため、ブラウザのサポート状況をテストするには最初に機能が必要です。ブラウザがAPIの未定バージョンを使用すると、次の関数が空の文字列を返します。プレフィックスバージョンを使用すると、プレフィックスが返されます。 APIがサポートされていない場合は、nullを返します。
このセクションでは、簡単なデモページをご覧ください。デモは最初にブラウザのサポートをテストし、次に と呼ばれる関数を使用します。 APIに依存している この記事では、高解像度の時間APIが何であるか、どのように使用するかについて説明しました。私が述べたように、それはまだ広くサポートされていないので、Webアプリケーションを正確にテストするためには、しばらく待つ必要があります。ただし、ご覧のとおり、APIには1つの方法しか含まれていないため、APIは非常に簡単です。したがって、ブラウザのサポートが改善されると、高解像度の時間への移行は迅速かつ簡単になります。
(質問要件と一致せず、長すぎるため、FAQの部分はここで省略されています) 以上が高解像度時間APIの発見の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。Date.now()
高解像度時間API <
now()
であり、これはDOMHighResTimeStamp
を返し、現在の時間をミリ秒単位で示します。タイムスタンプは非常に正確で、1000分の1ミリ秒の精度があります。 1970年1月1日の00:00:00 UTC以降に経過したミリ秒数をDate.now()
に戻しますが、performance.now()
(ドキュメントナビゲーションが開始)から呼び出されたミリ秒数をperformance.timing.navigationStart()
に戻すことに注意してください。分数部分はマイクロ秒です。 performance.now()
とDate.now()
のもう1つの重要な違いは、後者が単調に増加しているため、2つの呼び出しの違いが負のものではないことです。多分あなたは、高解像度の時間APIがあなたのコードをどのように変更するのか疑問に思っています。良いニュースは、何も変わらないということです。 performance.now()
をDate.now()
に置き換えるだけで、測定の精度を向上させることができます。これを念頭に置いて、以前のコードは次のように書き換えられます:performance.now()
var startTime = Date.now();
// 一个耗时的函数
foo();
var test1 = Date.now();
// 另一个耗时的函数
bar();
var test2 = Date.now();
// 打印结果
console.debug("Test1 time: " + (test1 - startTime));
console.debug("Test2 time: " + (test2 - test1));
performance.webkitNow()
var startTime = performance.now();
// 一个耗时的函数
foo();
var test1 = performance.now();
// 另一个耗时的函数
bar();
var test2 = performance.now();
// 打印更精确的结果
console.debug("Test1 time: " + (test1 - startTime));
console.debug("Test2 time: " + (test2 - test1));
Date.getTime()
function getPrefix() {
var prefix = null;
if (window.performance !== undefined) {
if (window.performance.now !== undefined)
prefix = "";
else {
var browserPrefixes = ["webkit","moz","ms","o"];
// 测试所有厂商前缀
for(var i = 0; i < browserPrefixes.length; i++) {
if (window.performance[browserPrefixes[i] + "Now"] != undefined) {
prefix = browserPrefixes[i];
break;
}
}
}
}
return prefix;
}
doBenchmark
関数を導入したことに注意してください。その唯一の目的は、不必要な複製を避け、コードをより簡潔にすることです。デモンストレーションのソースコードは次のとおりです。(質問要件と一致せず、長すぎるため、長いサンプルコードはここで省略されています)performance.now()
getTime()

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。
