目次
重複コードを削減するための戦略
例:Q&A Webコードを最適化します
さらなる最適化:カプセル化関数
要約します
ホームページ ウェブフロントエンド htmlチュートリアル JavaScriptで同様のコードを繰り返すことを避ける方法:Q&A Webページを例にとる

JavaScriptで同様のコードを繰り返すことを避ける方法:Q&A Webページを例にとる

Aug 17, 2025 pm 10:36 PM

javascriptで同様のコードを繰り返すことを避ける方法:Q&A Webページを例に取ります

この記事は、JavaScript開発で同様のコードを繰り返し作成する問題を解決することを目的としています。質問と回答のWebページを例にとると、それは三元演算子と機能を使用してコード冗長性を回避し、コードの保守性と読みやすさを改善する方法を示しています。条件付き判断ステートメントを簡素化する方法と、複製コードブロックを再利用可能な関数にカプセル化する方法に焦点を当て、コードの量を減らし、開発効率を向上させます。

重複コードを削減するための戦略

開発プロセス中に、さまざまな条件に基づいて同様の操作を実行する必要がある状況に遭遇することがよくあります。コードを直接コピーして貼り付けると、コードの冗長性が発生し、維持が困難になります。重複コードを減らすための一般的な戦略を以下に示します。

  1. 3成分演算子を使用して条件判断を簡素化します。条件判断に条件が2つしかない場合、3成分演算子条件を使用できますか? expr1:expr2は、コードをより簡潔にするためのif ... elseステートメントを置き換えます。

  2. 再利用可能な関数のカプセル化:重複コードブロックを関数にカプセル化します。これは、同じコードの繰り返しの書き込みを避けて、異なる場所で呼び出すことができます。

例:Q&A Webコードを最適化します

提供されたQ&A Webコードでは、$('。go-btn ')。質問と回答のページコードの一部は、主に次の側面に反映されています。

  • 選択したトピック(生物学、化学、物理学)に従って、異なる問題配列(BiologyQ、ChemistryQ、PhysicsQ)を選択します。
  • 選択したトピックに従って、対応するコース(#MyBiology、#MyChemistry、#myphysics)を取得します。
  • フィルタリングされた問題配列をシャッフルします(シャッフル)。
  • 対応するdiv要素にシャッフルされた問題を表示します(#q1、#q2、#q3)。
  • 選択した質問の数に従って、対応するdiv要素を表示します。

次のコードは、三元演算子を使用してトピックとコースの選択を簡素化する方法を示しています。

 $(document).ready(function(){
    $('。go-btn ')。on(' click '、function(){

        var array =($( '#mytopic')。val()== 'biology'?biologyq:($( '#mytopic')。val()== 'chemistryq:physicsq));
        const lessonselected =($( '#mytopic')。val()== 'biology'?$( '#mybiology')。val():($( '#mytopic')。
        VAR LESSONRESULT = $ .GREP(array、function(e){return e.lesson == lessonselected;});

        {
            const array = lessonresult;

            関数シャッフル(配列){
                for(let i = array.length-1; i> 0; i-){
                    J = math.floor(math.random() *(i 1));
                    temp = array [i];
                    配列[i] = array [j];
                    配列[j] = temp;
                }
                返品配列;
            };

            const result = shuffle(array);
            $( '#q1')。html(result [0] .question);
            $( '#q2')。html(result [1] .question);
            $( '#q3')。html(result [2] .question);

            var currentVal = $( '#myNumber')。val();
            $( '。selected')。hide()。slice(0、currentVal).show();
        }
    });
});

コード説明:

  • var array =($( '#mytopic')。val()== 'biology'?biologyq:($( '#mytopic')。val()== 'chemistry'?chemistryq:physicsq));:このコードは、選択したトピックに基づいて対応する問題アレイを選択します。生物学が選択されている場合、アレイは生物学に等しくなります。化学が選択されている場合、アレイは化学と等しくなります。それ以外の場合、配列は物理学に等しくなります。
  • const lessonselected =($( '#mytopic')。val()== 'biology'?$( '#mybiology')。val():($( '#mytopic')。val()== 'chemistry'?$( '#mychemistry')。選択したトピックについて。

さらなる最適化:カプセル化関数

三元演算子を使用するとコードを簡素化できますが、シャッフルや表示の問題など、いくつかの重複したコードブロックがまだあります。これらのコードブロックは、重複をさらに減らすために関数にカプセル化できます。

シャッフル関数をカプセル化:

元のコードには、配列をシャッフルするシャッフル関数が既に含まれています。この関数は、変更なしで直接使用できます。

注:

  • 関数が単一であり、特定のタスクの完了にのみ責任があることを確認してください。
  • 関数に適切なコメントを追加し、その関数とパラメーターを指定します。

要約します

三元演算子と機能を使用することにより、JavaScriptコードの重複を効果的に削減し、コードの保守性と読みやすさを改善できます。実際の開発では、特定の状況に応じて適切な戦略を選択し、過度の最適化を避け、コードを簡潔で理解しやすくしておく必要があります。

以上がJavaScriptで同様のコードを繰り返すことを避ける方法:Q&A Webページを例にとるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

ホットトピック

初心者向けの不可欠なHTMLタグ 初心者向けの不可欠なHTMLタグ Jul 27, 2025 am 03:45 AM

HTMLをすばやく開始するには、Webスケルトンを構築するためにいくつかの基本的なタグをマスターするだけです。 1.ページ構造は不可欠であり、ルート要素であり、メタ情報が含まれ、コンテンツディスプレイ領域です。 2。タイトルを使用します。レベルが高いほど、数が小さくなります。タグを使用してテキストをセグメント化して、レベルをスキップしないようにします。 3.リンクはタグを使用してHREF属性を一致させ、画像はタグを使用し、SRCおよびALT属性が含まれます。 4.リストは、順序付けられていないリストと順序付けリストに分割されます。各エントリは表され、リストにネストする必要があります。 5.初心者は、すべてのタグを強制的に記憶する必要はありません。あなたが書いている間にそれらを書いてチェックする方がより効率的です。構造、テキスト、リンク、写真、リストをマスターして、基本的なWebページを作成します。

入力タグの名前属性は何ですか? 入力タグの名前属性は何ですか? Jul 27, 2025 am 04:14 AM

thenAmeattributeTheTogisusedisedifytheTheInputisputisUbsisubmitted; itstheasthekey-key-key-valuepairsenttotheserver、wheretheuser'sinputisthevalue.1.whenaformissubmitted、thenameattributebecomesthe keyanttheinputtheinupthe becomesthevalueintas

別のタグ内にタグを入れることはできますか? 別のタグ内にタグを入れることはできますか? Jul 27, 2025 am 04:15 AM

youcannotnesttagsinsisideantagbecuseit’sinvalidhtml; browsersautomatelycloseThefirsteforeopeningthenext、spedinginselementsied、useinlineelements like like like、orforstylingwithinaparagraph、またはblockainerslikegoriveparagragh

Shadow Domの概念とHTML統合 Shadow Domの概念とHTML統合 Jul 24, 2025 am 01:39 AM

Shadowdomは、孤立したDOMサブツリーを作成するためにWebコンポーネントテクノロジーで使用されるテクノロジーです。 1.独自のスタイルと行動を備えた通常のHTML要素上の独立したDOM構造のマウントを可能にし、メインドキュメントに影響しません。 2。AttachShadowメソッドの使用やモードの設定など、JavaScriptを介して作成されました。 3。HTMLと組み合わせて使用すると、3つの主要な機能があります。クリア構造、スタイル分離、コンテンツプロジェクション(スロット)。 4。ノートには、複雑なデバッグ、スタイルスコープ制御、パフォーマンスオーバーヘッド、フレームワークの互換性の問題が含まれます。要するに、Shadowdomは、再利用可能で汚染されていないUIコンポーネントを構築するためのネイティブカプセル化機能を提供します。

html `style`タグ:インラインと内部css html `style`タグ:インラインと内部css Jul 26, 2025 am 07:23 AM

シーンに従ってスタイル配置方法を選択する必要があります。 1。インラインは、操作によるボタンの色の変更など、単一要素または動的JS制御の一時的な変更に適しています。 2。内部CSSは、ページが少ないプロジェクトと単純な構造に適しています。これは、ログインページの基本スタイル設定など、スタイルの集中管理に便利です。 3。再利用、メンテナンス、パフォーマンスが優先され、大規模なプロジェクトの外部リンクCSSファイルを分割することをお勧めします。

HTMLにPDFドキュメントを埋め込む方法は? HTMLにPDFドキュメントを埋め込む方法は? Aug 01, 2025 am 06:52 AM

タグを使用することは、最も簡単で推奨される方法です。構文は、最新のブラウザがPDFを直接埋め込むのに適しています。 2.タグを使用すると、より良いコントロールおよびバックアップコンテンツのサポートを提供できます。Syntaxはサポートされていない場合にバックアップソリューションとしてタグのダウンロードリンクを提供します。 3. Google DocsViewerを介して組み込むことはできますが、プライバシーとパフォーマンスの問題のために広く使用することはお勧めしません。 4.ユーザーエクスペリエンスを改善するには、適切な高さを設定する必要があります。レスポンシブサイズ(高さ:80VHなど)およびPDFダウンロードリンクを提供して、ユーザーが自分でダウンロードして表示できるようにする必要があります。

HTMLで順序付けられていないリストを作成する方法は? HTMLで順序付けられていないリストを作成する方法は? Jul 30, 2025 am 04:50 AM

HTML Unoderedリストを作成するには、タグを使用してリストコンテナを定義する必要があります。各リストアイテムはタグで包まれており、ブラウザは自動的に弾丸を追加します。 1.タグを使用してリストを作成します。 2。各リスト項目はタグで定義されています。 3.ブラウザは、デフォルトのドットシンボルを自動的に生成します。 4。サブリストはネスティングを通じて実装できます。 5。CSSのリストスタイルタイプの属性を使用して、ディスク、サークル、スクエア、またはなしなどのシンボルスタイルを変更します。これらのタグを正しく使用して、標準の非秩序化リストを生成します。

コンテンツ誘導性の属性を使用する方法は? コンテンツ誘導性の属性を使用する方法は? Jul 28, 2025 am 02:24 AM

thecontentEdentedItedItableattributemakesanyhtmlementedabledaitbyaddingcontenteditable = "true"、avainusErstodirectlymodifyContentinthebrowser.2.ItiscommonlyLichTexteditors、note-takingApps、およびin-place-placeditingintingintingintingintingintingtintingtintingtediv

See all articles