閏年とは、グレゴリオ暦で閏日 (つまり 2 月 29 日) がある年を指します。グレゴリオ暦の規則によれば、4 年ごとに閏がありますが、100 年ごとに閏はなく、400 年ごとに閏があります。 JavaScript では、次の関数を使用して、年がうるう年かどうかを確認できます。
function isLeapYear(year) { return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0); }
上記のコードでは、まず、その年が 4 で割り切れるかどうかを判断し、割り切れる場合は 100 で割り切れないかどうかを判断します。 、または 400 Divisible で割り切れる場合は、今年がうるう年であることを意味します。条件が満たされない場合は、うるう年ではありません。
この関数の実装は比較的単純ですが、注意する必要がある点がいくつかあります。たとえば、関数の呼び出し時に渡されるパラメータが整数型ではない場合、計算プロセスに問題が発生する可能性があります。この状況を回避するには、関数の先頭にパラメータの型をチェックするコードを追加します。
function isLeapYear(year) { if (typeof year !== 'number' || year % 1 !== 0) { throw new TypeError('Year must be an integer'); } return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0); }
上記のコードでは、先頭にパラメータの型をチェックするロジックを追加しました。渡されたパラメータが整数型ではない場合、型エラー例外がスローされます。これにより、コードの堅牢性が向上し、予期しないエラーが発生するのを防ぐことができます。
パラメータの型をチェックすることに加えて、関数に対して追加の最適化を実行することもできます。たとえば、同じ年の計算が繰り返されることを避けるために、いくつかのキャッシュ メカニズムを追加できます。これにより、コンピューティング リソースが節約され、機能のパフォーマンスが向上します。以下は、キャッシュ メカニズムを追加するサンプル コードです。
function createLeapYearChecker() { const cache = {}; return function(year) { if (typeof year !== 'number' || year % 1 !== 0) { throw new TypeError('Year must be an integer'); } if (year in cache) { return cache[year]; } const isLeapYear = (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0); cache[year] = isLeapYear; return isLeapYear; }; } const isLeapYear = createLeapYearChecker(); console.log(isLeapYear(2020)); // true console.log(isLeapYear(2021)); // false console.log(isLeapYear(2022)); // false console.log(isLeapYear(2023)); // false console.log(isLeapYear(2024)); // true console.log(isLeapYear(2020)); // true - result is retrieved from cache
上記のコードでは、元の関数をファクトリ関数に変更しました。このファクトリ関数は、計算結果を保存するキャッシュ オブジェクトを含む内部関数を返します。この内部関数は年パラメーターを受け取ることができ、最初に今年の計算結果が既にキャッシュに存在するかどうかを確認します。存在する場合は、キャッシュに格納されている結果が直接返されます。存在しない場合は、再度計算されて結果がキャッシュに格納されます。
キャッシュ機構を追加することで、関数呼び出し時に同じ年の計算が繰り返されることがなくなり、関数の実行効率が向上します。同時に、キャッシュ メカニズムは外部コードに対して透過的であるため、ユーザーはキャッシュを管理するために追加のコードを必要としません。
つまり、JavaScript でうるう年を見つける問題は非常に基本的な問題ですが、実際のコーディングでは注意が必要な点がいくつかあるかもしれません。基本的な判定ロジックに加えて、キャッシュ機構などを追加することで機能を最適化し、コードの堅牢性や実行効率を向上させることもできます。
以上がJavaScriptで閏年を見つけるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、functionコンポーネントでのデータフェッチやDOM操作などの副作用を管理するためのフックであるReactの使用Effectについて説明します。メモリリークなどの問題を防ぐための使用、一般的な副作用、およびクリーンアップについて説明します。

怠zyな読み込みは、必要になるまでコンテンツの読み込みを遅延させ、初期負荷時間とサーバーの負荷を削減することにより、Webパフォーマンスとユーザーエクスペリエンスを改善します。

JavaScriptの高次関数は、抽象化、共通パターン、および最適化技術を通じて、コードの簡潔さ、再利用性、モジュール性、およびパフォーマンスを強化します。

この記事では、JavaScriptのカレーについて説明します。これは、マルチアーグメント関数を単一argument関数シーケンスに変換する手法です。 Curryingの実装、部分的なアプリケーションなどの利点、実用的な用途、コード読み取りの強化を調査します

この記事では、Virtual DOMツリーを比較してDOMを効率的に更新するReactの調整アルゴリズムについて説明します。パフォーマンスの利点、最適化技術、ユーザーエクスペリエンスへの影響について説明します。

この記事では、ReactのUseContextを説明しています。これにより、小道具掘削を避けることで国家管理を簡素化します。再レンダーの削減により、集中状態やパフォーマンスの改善などの利点について説明します。

記事では、PreventDefault()メソッドを使用して、イベントハンドラーのデフォルト動作の防止、ユーザーエクスペリエンスの強化などの利点、およびアクセシビリティの懸念などの潜在的な問題について説明します。

この記事では、予測可能性、パフォーマンス、ユースケースなどの側面に焦点を当てた、Reactの制御されていないコンポーネントと制御されていないコンポーネントの利点と欠点について説明します。それらを選択する際に考慮することを要因についてアドバイスします。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

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

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!
