JavaScriptのifとswitch、==と===の違いと接続例を詳しく解説
この記事では主に JavaScript の if と switch、== と === の違いと接続について説明します。非常に詳細で実践的です。
最初にサンプルコードを見てください:
var a = '5'; switch (a) { case 5: console.log('=='); break; case "5": console.log('==='); break; default: }
コンソール表示は === なので安心して使えそうです。
1.if と switch
if は最も一般的に使用されるもので、言うことはあまりありません。注目すべき点の 1 つは、 if は実際には || に非常に似ているということです。 if (conditionA){} else {} のconditionA が true の場合、 else の前にコード ブロックを実行した後は、else のコードも参照しません。先頭で || が true の場合と同様に、たとえ多くのエラーがあっても、後で無視されます。もちろん、この性質に基づいて、最も使用される可能性のあるコードブロックを前に配置して、判定の数を減らします。一方、if 判定が多く、実行可能な回数が比較的均等に分散されている場合、後続の判定ステートメントは毎回前の判定を 1 つずつ実行する必要があり、最適化には役立ちません。より良いアプローチは、
if (a > 0 && a <= 1) { //do something } else if (a > 1 && a <= 2) { } else if (a > 2 && a <= 3) { } else if (a > 3 && a <= 4) { } else if (a > 4 && a <= 5) { } else if (a > 5 && a <= 6) { }...
が
if (a > 0 && a <= 4) { if (a <= 1) { //do something } else if (a > 1 && a <= 2) { } else if (a > 2 && a <= 3) { } else if (a > 3 && a <= 4) { } } else if (a > 4 && a <= 8) { // }..
になるように、1レベルの判断ステートメントを2レベルの判断ステートメントに変えることです。前の各判断はもう一度追加されますが、後続の判断は減らされます。 (4-1)*n 回行いましたが、それでもかなりのお金を稼ぎました。突然、この方法はネストされたループに少し似ているように感じます。ループを少数のループで外側に配置すると、特定の状況に応じて 2 つまたは複数のレイヤーに分割する方法が役立ちます。
スイッチはイフが圧倒されるたびに助けに来てくれる一番近い仲間です。 switch と if の間の相互変換についてはおそらく言うことはありません。switch は if と同様に上から下に順番に判断を実行します。違いは、if の else が switch では機能しないことです。壊す 。ブレークが発生しない場合、switch は
var a = 2; switch (a) { case 1: console.log("1"); //break miss case 2: console.log("2"); case 3: console.log("3"); default: console.log('no break'); }
のように実行を続けます。最終的に、コンソールには 2,3,no Break が表示されます。実際、break は内部の実行本体を抜け出して次のケースの判定に進むことを促すもので、if(condition){A}{B} と同等です。それ以外の場合は、もちろん A と B の両方が実行されます。他に小さなヒントが 2 つあります。1 つは、
switch (A + B) { case a * b: console.log("1"); break; case a / b + c: break; //... default: console.log('no break'); }
のように、switch と case に任意の式を記述できることです。実際の比較は (A+B)===(a*b) と (A+B) です。 ) ===(a/b+c)。次に、switch には
switch (true) { case condition1: //do something break; case condition2: break; //... default: //.. ; }
などの特殊な使い方があります。このとき、switch 内の各ケースが順番に判断され、実行されます。 switch(false)はダメですか?
2.==と===
最も古典的なケース
var a = "5", b = 5; a == b //true a === b //false var a = "ABC", b = "AB" + "C"; a === b //true
以下がtrueを示す理由は、実はstring型の不変性と切り離せないものです。表面的には、b は文字列を連結しているだけのように見えますが、実際には元の b とは何の関係もありません。各文字列はメモリ プール内の特定の場所に格納されます。 b="AB"+"C" が実行されると、文字列 AB と C は破棄され、b はメモリ プール内の ABC の場所を指します。文字列 ABC は指す前にメモリ プール内に存在しているため (a が参照しているため存在します)、b は a と同じ領域を指しており、合同判定は等しいです。 b の前に文字列 ABC を指す変数がない場合、メモリ プール内に変数は存在せず、その中の ABC 用のスペースが割り当てられ、b は ABC を指すことになります。
以上がJavaScriptのifとswitch、==と===の違いと接続例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









顔の検出および認識テクノロジーは、すでに比較的成熟しており、広く使用されているテクノロジーです。現在、最も広く使用されているインターネット アプリケーション言語は JS ですが、Web フロントエンドでの顔検出と認識の実装には、バックエンドの顔認識と比較して利点と欠点があります。利点としては、ネットワーク インタラクションの削減とリアルタイム認識により、ユーザーの待ち時間が大幅に短縮され、ユーザー エクスペリエンスが向上することが挙げられます。欠点としては、モデル サイズによって制限されるため、精度も制限されることが挙げられます。 js を使用して Web 上に顔検出を実装するにはどうすればよいですか? Web 上で顔認識を実装するには、JavaScript、HTML、CSS、WebRTC など、関連するプログラミング言語とテクノロジに精通している必要があります。同時に、関連するコンピューター ビジョンと人工知能テクノロジーを習得する必要もあります。 Web 側の設計により、次の点に注意してください。

エルデンズ リングはスイッチでプレイできますか? 非常に魅力的なアクション RPG ゲームなので、スイッチ プラットフォームでスムーズにプレイできるかどうかを多くの友人が知らないかもしれません。答えは、現時点ではプレイできないということです。リング オブ エルデンはスイッチでプレイできますか? 回答: スイッチではプレイできません。 Souls シリーズのこの待望のロールプレイング アクション ゲームが正式にリリースされ、プレイヤーは PC、PS4/5、Xbox シリーズ eX|S/XboxOne で購入してすぐに体験することができます。スイッチを所有している多くの友人は、今でも NS でこのゲームを楽しみたいと考えているかもしれませんが、残念ながら、このゲームのスイッチ バージョンはありません。公式 Web サイトの構成要件によると、ゲーム構成は比較的高く、sw

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

Switch2はGamescom 2023で任天堂から発表された新モデルですが、一部のプレイヤーは新モデルと以前のバージョンのカートリッジの間に互換性の問題があるのではないかと心配しています。 switch2 はスイッチ カセットと互換性がありますか? 回答: switch2 はスイッチ カセットと互換性がありません。 Switch 2 カートリッジの紹介 任天堂の生産チェーン会社からの情報によると、Switch 2 は 64GB カートリッジを使用する可能性があります。パフォーマンスが向上し、より多くの 3A ゲームの名作をサポートするため、より大きなカートリッジ容量が必要になります。なぜなら、多くのゲーム作品は、ゲームカートリッジに詰める前に去勢して圧縮する必要があるからです。さらに、Switch のカートリッジはゲーム コンテンツをコピーする傾向があるため、新しいカートリッジに交換してください。

js と vue の関係: 1. Web 開発の基礎としての JS、2. フロントエンド フレームワークとしての Vue.js の台頭、3. JS と Vue の補完関係、4. JS と Vue の実用化ビュー。

JavaScript で HTTP ステータス コードを取得する方法の紹介: フロントエンド開発では、バックエンド インターフェイスとの対話を処理する必要があることが多く、HTTP ステータス コードはその非常に重要な部分です。 HTTP ステータス コードを理解して取得すると、インターフェイスから返されたデータをより適切に処理できるようになります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法と、具体的なコード例を紹介します。 1. HTTP ステータス コードとは何ですか? HTTP ステータス コードとは、ブラウザがサーバーへのリクエストを開始したときに、サービスが

JS-Torch の概要 JS-Torch は、構文が PyTorch に非常に似ている深層学習 JavaScript ライブラリです。これには、完全に機能するテンソル オブジェクト (追跡された勾配で使用可能)、深層学習レイヤーと関数、および自動微分エンジンが含まれています。 JS-Torch は JavaScript での深層学習の研究に適しており、深層学習の開発を加速するための便利なツールや機能を多数提供します。 Image PyTorch は、Meta の研究チームによって開発および保守されているオープンソースの深層学習フレームワークです。ニューラル ネットワーク モデルを構築およびトレーニングするための豊富なツールとライブラリのセットを提供します。 PyTorch は、シンプル、柔軟、そして使いやすいように設計されており、その動的な計算グラフ機能により、

現在のページを更新する js メソッド: 1. location.reload(); 2. location.href; 3. location.assign(); 4. window.location。詳細な紹介: 1. location.reload()、location.reload() メソッドを使用して現在のページを再読み込みします; 2. location.href、location.href 属性などを設定することで現在のページを更新できます。
