目錄
If 語句
關係運算子
If-Else 语句
测验
三元运算符
多个 If-Else 语句
链式三元运算符
Switch 语句
任务
逻辑运算符
评论
首頁 web前端 js教程 掌握 JavaScript 編碼:第 2 部分,條件

掌握 JavaScript 編碼:第 2 部分,條件

Aug 31, 2023 pm 08:37 PM

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

在本系列的第一部分中,我們學習了使用 JavaScript 進行編碼的基礎知識,並且主要編寫簡單的語句作為程式碼的一部分。這種結構嚴重限制了我們能做的事情。假設您正在設計一個需要使用者登入的程式。如果使用者提供了正確的憑證,您可能希望將其導向到一個頁面;如果使用者未註冊,則將其發送到另一個頁面。

為此,您需要使用 if 語句等決策結構。這只會在某些條件下執行操作。如果條件不存在,則不執行操作。在本教程中,您將了解有關條件的所有資訊。

  • If 語句
  • #關係運算子
  • #If-Else 語句
  • 多個 If-Else 語句
  • Switch 語句
  • #邏輯運算子
  • #

If 語句

如果條件為真,單一 if 語句將執行一個運算。如果條件為 false,程式將執行 if 區塊之外的下一條語句。在下列範例中,如果表達式isRaining 為true,則我們將putOnCoat()putOnRainboots() 然後goOutside() 。如果isRaining 為false,則程式將只執行goOutside()

if (isRaining) {
    putOnCoat();
    putOnRainboots();
}

goOutside();
登入後複製

這是寫 if 語句的一般形式:

if (condition) {
    statement;
    statement;
    ...
}
登入後複製

條件是一個值為 true 或 false 或計算結果為 true 或 false 的表達式。真或假的表達式稱為布林表達式。布林表達式由關係運算子組成。

關係運算子

關係運算子比較兩個值並確定它們之間的關係是 true 還是 false。它們可用於為我們的條件建立布林表達式。以下是關係運算子的清單和範例:

操作員 意義 範例 意義
== 平等 x == y x 等於 y 嗎?
=== 嚴格平等 x === y x 的值和型別是否等於 y?
!= 不平等 x!=y x不等於y嗎?
! == 嚴格不平等 x !== y x 的值和型別不等於 y 嗎?
> 大於 x > y x 是否大於 y?
<< 小於 x x 是否小於 y?
>= 大於或等於 x >= y x 是否大於或等於 y?
<=<= 小於或等於 x <= y<= 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 表示右侧表达式。

&& 真值表:

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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1667
14
CakePHP 教程
1426
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1255
24
JavaScript引擎:比較實施 JavaScript引擎:比較實施 Apr 13, 2025 am 12:05 AM

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

從C/C到JavaScript:所有工作方式 從C/C到JavaScript:所有工作方式 Apr 14, 2025 am 12:05 AM

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

JavaScript和Web:核心功能和用例 JavaScript和Web:核心功能和用例 Apr 18, 2025 am 12:19 AM

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

JavaScript在行動中:現實世界中的示例和項目 JavaScript在行動中:現實世界中的示例和項目 Apr 19, 2025 am 12:13 AM

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。

了解JavaScript引擎:實施詳細信息 了解JavaScript引擎:實施詳細信息 Apr 17, 2025 am 12:05 AM

理解JavaScript引擎內部工作原理對開發者重要,因為它能幫助編寫更高效的代碼並理解性能瓶頸和優化策略。 1)引擎的工作流程包括解析、編譯和執行三個階段;2)執行過程中,引擎會進行動態優化,如內聯緩存和隱藏類;3)最佳實踐包括避免全局變量、優化循環、使用const和let,以及避免過度使用閉包。

Python vs. JavaScript:社區,圖書館和資源 Python vs. JavaScript:社區,圖書館和資源 Apr 15, 2025 am 12:16 AM

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

Python vs. JavaScript:開發環境和工具 Python vs. JavaScript:開發環境和工具 Apr 26, 2025 am 12:09 AM

Python和JavaScript在開發環境上的選擇都很重要。 1)Python的開發環境包括PyCharm、JupyterNotebook和Anaconda,適合數據科學和快速原型開發。 2)JavaScript的開發環境包括Node.js、VSCode和Webpack,適用於前端和後端開發。根據項目需求選擇合適的工具可以提高開發效率和項目成功率。

See all articles