目次
If ステートメント
関係演算子
If-Else 语句
测验
三元运算符
多个 If-Else 语句
链式三元运算符
Switch 语句
任务
逻辑运算符
评论
ホームページ ウェブフロントエンド jsチュートリアル JavaScript コーディングをマスターする: パート 2、条件

JavaScript コーディングをマスターする: パート 2、条件

Aug 31, 2023 pm 08:37 PM

掌握 JavaScript 编码:第 2 部分,条件

このシリーズの最初のパートでは、JavaScript でのコーディングの基本を学習し、主にコードの一部として単純なステートメントを作成しました。この構造により、私たちができることは大幅に制限されます。ユーザーのログインを必要とするプログラムを設計しているとします。ユーザーが正しい資格情報を提供した場合は 1 つのページに誘導し、ユーザーが登録されていない場合は別のページに誘導することができます。

これを行うには、if ステートメントなどの意思決定構造を使用する必要があります。これは、特定の条件下でのみ操作を実行します。条件が存在しない場合、アクションは実行されません。このチュートリアルでは、条件についてすべて学びます。

  • If ステートメント
  • 関係演算子
  • If-Else ステートメント
  • 複数の If-Else ステートメント
  • Switch ステートメント
  • 論理演算子

If ステートメント

単一の if ステートメントは、条件が true の場合にアクションを実行します。条件が false の場合、プログラムは if ブロックの外で次のステートメントを実行します。次の例では、式 isRaining が true の場合、 putOnCoat()putOnRainboots() を実行してから、 goOutside() を実行します。 isRaining が false の場合、プログラムは goOutside() のみを実行します。

リーリー

これは、if ステートメントを記述する一般的な形式です:

リーリー

条件は、true または false に評価される式、または true または false に評価される式です。 true または false の式はブール式と呼ばれます。ブール式は関係演算子で構成されます。

関係演算子

関係演算子は 2 つの値を比較し、それらの間の関係が true か false かを判断します。これらを使用して、条件のブール式を作成できます。以下は関係演算子のリストと例です:

###オペレーター### ###意味### ###例### ###意味### ###平等### x は y に等しいですか? #xx === yx の値と型は y と等しいですか? #!= ###不平等### 厳密には不平等です #>>以上の #xx > yx は y より小さいですか? #>>=x は y 以下ですか?

请务必注意相等运算符 == 和严格相等运算符 === 之间的区别。例如,表达式 2 == "2" 为 true。但表达式 2 === "2" 是错误的。在第二个示例中,两个值是不同的数据类型,这就是表达式为 false 的原因。最佳实践是使用 ===!==

以下示例将显示消息“您获得 A”。

let grade = 93;

if (grade >= 90) {
    console.log("You get an A");
}
ログイン後にコピー

If-Else 语句

如果条件为 true,if-else 语句将执行一个语句块;如果条件为 false,则执行另一个语句块。以下示例将显示消息“valid username”,因为条件为 true。

let username = "alberta";

if (username === "alberta") {
    console.log("Valid Username");
} else {
    console.log("Incorrect username. Try again.");
}
ログイン後にコピー

这是 if-else 语句的一般形式:

if (condition) {
    statement;
    statement;
    etc.
} else {
    statement;
    statement;
    etc.
}
ログイン後にコピー

测验

 这个程序的输出是什么?

let isLoggedIn = false;

if (isLoggedIn) {
    console.log("Welcome");
} else {
    console.log("You are not logged in");
}
ログイン後にコピー

三元运算符

if-else 语句在编程中非常常见,因此有一个专用的三元运算符,它允许您在一行中编写简单的 if-else 语句。三元运算符是 JavaScript 中唯一接受三个操作数的运算符。

运算符接受开头的条件,后跟问号。问号后面跟着一个表达式,如果条件计算结果为真值,则执行该表达式。该表达式后跟一个冒号。冒号后面还有另一个表达式,如果条件计算结果为假值,则执行该表达式。

让我们看一个例子来清楚地说明这一点。我们从 sale_price 开始,它等于 max_price 变量。现在,如果 big_discount 的值计算为 true,我们将 sale_price 更改为 900。否则,sale_price 值设置为 950。由于我们已将 big_discount 设置为 true,所以 sale_price 值最终设置为 900。

let big_discount = true;
let max_price = 1000;
let sale_price = max_price;

if(big_discount) {
    sale_price = 900;
} else {
    sale_price = 950;
}
ログイン後にコピー

这是最后一行中使用三元运算符编写的等效代码。基本上,如果 big_discount 计算结果为 true,则 sale_price 将设置为 900;如果 big_discount 计算结果为 falsephpcnendc,则 <code>sale_price 将设置为 950 phpcn.phpcn.就像前面的示例一样,big_discount 的值设置为 true,因此 sale_price 设置为 900。

let big_discount = true;
let max_price = 1000;
let sale_price = max_price;

sale_price = big_discount ? 900 : 950;
ログイン後にコピー

多个 If-Else 语句

也可以检查多个条件。假设您正在跟踪商店中特定产品的库存,并根据其库存数量采取某些操作。代码看起来像这样:

let stock_count = 50;

if(stock_count > 80) {
    console.log("Large stock");
} else if (stock_count > 20) {
    console.log("Be Ready to Restock");
} else if (stock_count > 0) {
    console.log("Please Restock");
} else {
    console.log("Stop Selling");
}

// Outputs: Be Ready to Restock
ログイン後にコピー

您应该注意到我如何使用 else if 而不仅仅是 if 来编写多个条件。如果您只想执行一个块,则可以采用这种方法。仅使用 if 编写条件可能会导致执行多个块,如下所示:

let stock_count = 50;

if(stock_count > 80) {
    console.log("Large stock");
} if (stock_count > 20) {
    console.log("Be Ready to Restock");
} if (stock_count > 0) {
    console.log("Please Restock");
} else {
    console.log("Stop Selling");
}

/* Outputs:
Be Ready to Restock
Please Restock */
ログイン後にコピー

这是编写多个 if-else-if 语句的一般形式:

if (condition1) {
    statement;
    statement;
    etc.
} else if (condition2) {
    statement;
    statement;
    etc.
} else {
    statement;
    statement;
    etc.
}
ログイン後にコピー

链式三元运算符

我们已经讨论了三元运算符如何通过替换简单的 if-else 语句来帮助我们编写更紧凑的代码。您可以以类似的方式使用链式三元运算符来复制多个 if-else 语句。这是一个例子:

let stock_count = 50;

console.log((stock_count > 80) ? "Large stock" : (stock_count > 20) ? "Be Ready to Restock" : (stock_count > 0) ? "Please Restock" : "Stop Selling");

// Outputs: Be Ready to Restock
ログイン後にコピー

就像常规的 if-else 语句一样,我们首先检查 stock_count 是否超过 80。既然不是,我们进入下一个条件,检查 stock_count 是否超过 20。其计算结果为 true,因此我们得到字符串“Be Ready to Restock”。

Switch 语句

switch 语句还用于有条件地执行程序的某些部分。以下示例将我们的罗马数字转换器实现为 switch 语句:

let num = 3;

switch (num) {
    case 1:
        console.log("I");
        break;
    case 2:
        console.log("II");
        break;
    case 3:
        console.log("III");
        break;
    case 4:
       console.log("IV");
        break;
    case 5:
       console.log("V");
       break;
    default:
        console.log("Invalid input");
}
ログイン後にコピー

这是 switch 语句的一般形式:

switch (expression) {
    case value1:
        statement;
        statement;
        etc.
        break;
    case value2:
        statement;
        statement;
        etc.
        break;
    default:
        statement;
        statement;
        etc.
}
ログイン後にコピー

每种情况代表我们的表达式可以采用的值。只有情况正确的代码块才会执行。我们在代码块末尾包含一个break语句,以便程序退出switch语句并且不执行任何其他情况。当其他情况都不成立时,将执行默认情况。

任务

编写一个 switch 语句,根据给定的数字显示星期几。例如,1 = 星期日,2 = 星期一等。

逻辑运算符

and 运算符 && 和 or 运算符 || 允许我们连接两个布尔表达式。 not 运算符 ! 对表达式求反。为了说明逻辑运算符的工作原理,我们将查看真值表。真值表包含与运算符一起使用的所有值组合。我使用 P 表示左侧表达式,使用 Q 表示右侧表达式。

&& 真值表:

==x == y
=== 厳密な平等
x!=y x は y と等しくありませんか? ! ==
x !== y x の値と型は y と等しくありませんか?
x は y より大きいですか? ### よりも少ない ### x
###以上### #xx >= y x は y 以上ですか?
以下 #xx
P P && Q
正确 正确 正确
正确
正确

我们阅读了表格中的每一行。第一行告诉我们,当P为真且Q为真时,P && Q为真。以下示例测试 x 是否在 60 到 100 之间(含 60 和 100)。

if (x >= 60 && x <= 100)
    console.log("Between 60 and 100.");
ログイン後にコピー

|| 真值表:

P P ||问
正确 正确 正确
正确 正确
正确 正确

此示例测试 82 是否超出 60–100 范围:

if (x < 60 || x > 100) 
    console.log("Less than 60 or more than 100.");
ログイン後にコピー

! 真值表:

P !P
正确
正确

示例:

if (! x)
    console.log("x iS false.");
ログイン後にコピー

任务

用缺失值填写表格。

P !P !Q !P && !Q !P || !Q
正确 正确        
正确        
正确        
       

关于逻辑运算符,需要了解的一点是,如果 && 运算符左侧的表达式为 false,则不会检查右侧的表达式,因为整个语句都是 false。如果 || 运算符左侧的表达式为 true,则不会检查右侧的表达式,因为整个语句都为 true。

评论

程序可以使用布尔表达式有条件地执行代码块。布尔表达式是使用关系运算符编写的。逻辑运算符允许我们组合布尔表达式。

单个 if 语句为程序提供了满足条件时要采取的替代路径。如果条件为假,则 if-else 语句提供第二个操作方案。 if-else-if 语句允许我们测试多个条件。当您有多个条件需要测试时,Switch 语句可以用作 if-else-if 语句的替代方法。

在本系列的下一部分中,您将了解循环。

本文已根据 Monty Shokeen 的贡献进行了更新。 Monty 是一位全栈开发人员,他也喜欢编写教程并了解新的 JavaScript 库。

以上がJavaScript コーディングをマスターする: パート 2、条件の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? 独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? Mar 18, 2025 pm 03:12 PM

記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

ブラウザでのパフォーマンスのためにJavaScriptコードを最適化するにはどうすればよいですか? ブラウザでのパフォーマンスのためにJavaScriptコードを最適化するにはどうすればよいですか? Mar 18, 2025 pm 03:14 PM

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? Apr 04, 2025 pm 02:42 PM

フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

ブラウザ開発者ツールを使用してJavaScriptコードを効果的にデバッグするにはどうすればよいですか? ブラウザ開発者ツールを使用してJavaScriptコードを効果的にデバッグするにはどうすればよいですか? Mar 18, 2025 pm 03:16 PM

この記事では、ブラウザ開発者ツールを使用した効果的なJavaScriptデバッグについて説明し、ブレークポイントの設定、コンソールの使用、パフォーマンスの分析に焦点を当てています。

誰がより多くのPythonまたはJavaScriptを支払われますか? 誰がより多くのPythonまたはJavaScriptを支払われますか? Apr 04, 2025 am 12:09 AM

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

ソースマップを使用して、マイナイドJavaScriptコードをデバッグするにはどうすればよいですか? ソースマップを使用して、マイナイドJavaScriptコードをデバッグするにはどうすればよいですか? Mar 18, 2025 pm 03:17 PM

この記事では、ソースマップを使用して、元のコードにマッピングすることにより、Minified JavaScriptをデバッグする方法について説明します。ソースマップの有効化、ブレークポイントの設定、Chrome DevtoolsやWebpackなどのツールの使用について説明します。

chart.js:パイ、ドーナツ、バブルチャートを始めます chart.js:パイ、ドーナツ、バブルチャートを始めます Mar 15, 2025 am 09:19 AM

このチュートリアルでは、chart.jsを使用してパイ、リング、およびバブルチャートを作成する方法について説明します。以前は、4つのチャートタイプのchart.js:ラインチャートとバーチャート(チュートリアル2)、およびレーダーチャートと極地域チャート(チュートリアル3)を学びました。 パイとリングチャートを作成します パイチャートとリングチャートは、さまざまな部分に分かれている全体の割合を示すのに理想的です。たとえば、パイチャートを使用して、サファリの男性ライオン、女性ライオン、若いライオンの割合、または異なる候補者が選挙で受け取る票の割合を示すことができます。 パイチャートは、単一のパラメーターまたはデータセットの比較にのみ適しています。パイチャートのファンの角度はデータポイントの数値サイズに依存するため、パイチャートは値のあるエンティティをゼロ値で描画できないことに注意してください。これは、割合がゼロのエンティティを意味します

Console.log出力の違い結果:なぜ2つの呼び出しが異なるのですか? Console.log出力の違い結果:なぜ2つの呼び出しが異なるのですか? Apr 04, 2025 pm 05:12 PM

Console.log出力の違いの根本原因に関する詳細な議論。この記事では、Console.log関数の出力結果の違いをコードの一部で分析し、その背後にある理由を説明します。 �...

See all articles