質問: サーバーの時刻同期を使用してJavaScriptで時計を実行する最善の方法 私はjsがそれを見るようにしたいと思います: * 開始時間はサーバ時間です(サーバはページのソースコードでそれを供給します)。 * 毎秒更新されます。 * (環境設定、必須ではありません)gecko、webkit、presto、IEの最新バージョンと互換性があります。 私はすでに多くの実装をチェックしましたが、どれが最も効率的かを知りたかったのです。それは、PCからのリソースを減らすものと存在するすべてのものの中でより正確なものです。
回答: 1秒ごとに刻々と変化するクロックは基本的にアニメーションなので、再帰的な `requestAnimationFrame` ( `setTimeout` )。 ``` var previousTime = 0; function update(time) { if (time - previousTime >= 1000) { redrawClock(time); previousTime = time; } requestAnimationFrame(update); } ``` `setInterval` の独自の遅延は正式な値よりも長くかかる可能性があるため、 `setInterval` を使用すると、各繰り返しで `Date` オブジェクトを作成する必要があります。 JavaScriptのタイマーに関するJohn Resigの華麗な記事を参照してください。 `requestAnimationFrame` on the contrary is: 1. より効率的で、タスクに最適化されています。 2. コールバックに正確なタイムスタンプを提供します。