一、條件判斷 JavaScript 中有三種方法可以用來進行條件判斷: 1、使用 if-else 語句。這種方法用於在特定條件為 true 時執行一段代碼,否則執行另一段代碼。例如: let a = 5; if (a > 10) { console.log("a is greater than 10 ...
一、條件判斷
JavaScript 中有三種方法可以用來進行條件判斷:
1、使用 if-else 語句。這種方法用於在特定條件為 true 時執行一段代碼,否則執行另一段代碼。例如:
let a = 5;
if (a > 10) {
console.log("a is greater than 10");
} else {
console.log("a is not greater than 10");
}
2、使用 switch 語句。這種方法用於在多個條件之間做出選擇,併在符合特定條件時執行相應的代碼塊。例如:
let b = "red";
switch (b) {
case "red":
console.log("The color is red");
break;
case "blue":
console.log("The color is blue");
break;
default:
console.log("The color is neither red nor blue");
}
3、使用三元運算符 ( ? : )。這種方法用於在特定條件為 true 時返回一個值,否則返回另一個值。例如:
let c = 5;
let d = (c > 10) ? "c is greater than 10" : "c is not greater than 10";
console.log(d);
在 JavaScript 中 三元運算符和 if-else 語句的功能是類似的,但是三元運算符的語法更簡潔,適用於比較簡單的條件判斷。
二、比較運算
1、使用關係運算符(>,<,>=,<=,==,!=,===,!==)。這些運算符可以比較兩個數據,並返回一個布爾值(true 或 false)。例如:
- == 比較運算符會在比較兩個變數值時自動進行類型轉換。例如:
let a = 5;
let b = "5";
console.log(a == b); // true
- === 比較運算符不會進行類型轉換,它會比較兩個變數值和類型是否相同。例如:
let a = 5;
let b = "5";
console.log(a === b); // false
- != 比較運算符會在比較兩個變數值時自動進行類型轉換,如果值不相等返回 true。例如:
let a = 5;
let b = "5";
console.log(a != b); // false
- !== 比較運算符不會進行類型轉換,它會比較兩個變數值和類型是否不同。例如:
let a = 5;
let b = "5";
console.log(a !== b); // true
通常建議使用 === 和 !== 比較運算符,因為它們不會進行類型轉換,可以避免一些錯誤。
- >,<,>=,<= 比較運算符用於比較兩個變數的大小關係,如果符合條件返回 true。例如:
let a = 5;
let b = 10;
console.log(a > b); // false
console.log(a < b); // true
console.log(a >= b); // false
console.log(a <= b); // true
2、使用 Object.is() 方法。這個方法可以用來確定兩個值是否相等,並返回一個布爾值(true 或 false)。例如:
let c = 5;
let d = "5";
console.log(Object.is(c, d)); // false
註意:與 == 的不同之處是,== 會嘗試轉換數據類型,而 Object.is() 不會。
3、使用 JSON.stringify() 方法將數組或對象轉換為字元串,然後使用關係運算符或 Object.is() 方法來比較字元串。例如:
let e = [1, 2, 3];
let f = [1, 2, 3];
console.log(JSON.stringify(e) === JSON.stringify(f)); // true
4、使用第三方庫 lodash 的 isEqual() 方法。這個方法可以用來深度比較兩個數組或對象,並返回一個布爾值(true 或 false)。例如:
let g = {a: 1, b: 2};
let h = {b: 2, a: 1};
console.log(_.isEqual(g, h)); // true
5、使用第三方庫 Ramda 的 equals() 方法,具有與 lodash 的 isEqual() 方法類似的功能。
註意:上面提到的 JSON.stringify() 和 lodash/Ramda 的方法都是深比較,這意味著它們將遞歸比較整個數組或對象的所有屬性。
6、instanceof
: 用於判斷一個對象是否是某個構造函數的實例。
let obj = new Object();
console.log(obj instanceof Object); // true
console.log(obj instanceof Array); // false
7、in
: 用於判斷一個對象是否有某個屬性。
let obj = {a:1,b:2};
console.log("a" in obj); // true
console.log("c" in obj); // false
這些運算符的結果也是一個布爾值,可以在條件判斷中使用。
註意:在使用 instanceof
和 in
時要註意對象類型和作用域的問題。
-
前言 Keil C51 是 51 系列相容單片機 C 語言軟體開發系統,支持 8051 微控制器體繫結構的 Keil 開發工具,適合每個階段的開發人員,不管是專業的應用工程師,還是剛學習嵌入式軟體開發的學生。 本篇博主將詳細介紹嵌入式集成開發環境 Keil C51 的安裝與註冊方法,以及國產 STC ...
-
xz是什麼 高壓縮率的工具,它使用 LZMA2 壓縮演算法,生成的壓縮文件比傳統使用的 gzip、bzip2 生成的壓縮文件更小, 不過xz也有一個壞處就是壓縮時間比較長,比7z壓縮時間還長一些。不過壓縮主要用於歸檔,不介意的可以忽略。 擅長壓縮文本和日誌文件,針對這塊的壓縮率,是目前我發現效率最高的 ...
-
Docker的常用命令 幫助命令 docker version # docker版本 docker info # 顯示docker的系統信息,包括鏡像和容器的數量 docker [命令] --help # 查看某個具體的命令 鏡像命令 查看下載的所有鏡像 # docker images REPOSI ...
-
一:背景 1. 講故事 大家都知道資料庫應用程式 它天生需要圍繞著數據文件打轉,諸如包含數據的 .mdf,事務日誌的 .ldf,很多時候深入瞭解這兩類文件的合成原理,差不多對資料庫就能理解一半了,關於 .mdf 的合成前面的文章已經有所介紹,這篇我們來聊一下 .ldf 的一些內部知識,比如 LSN。 ...
-
props props簡單使用 class Person extends React.Component { render() { return ( <ul> <li>姓名:{this.props.name}</li> <li>年齡:{this.props.age}</li> <li>性別:{thi ...
-
這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 需求描述 目前大多數PC端應用都有配套的移動端APP,如微信,淘寶等,通過使用手機APP上的掃一掃功能去掃頁面二維碼圖片進行登錄,使得用戶登錄操作更方便,安全,快捷。 思路解析 PC 掃碼原理? 掃碼登錄功能涉及到網頁端、伺服器和手機端, ...
-
一、文件上傳 1、普通文件上傳 JavaScript 可以使用表單提交來實現文件上傳。首先,在 HTML 中創建一個文件輸入框: <input type="file" id="fileInput"> 然後,在 JavaScript 中獲取文件輸入框的引用,併在其上設置事件監聽器,如下所示: var ...
-
最近在開發幾個網站,為了優化一下前端代碼,就複習一下gulpjs,之前工作gulp用的版本比較老,但是今天看了新的版本,新的語法出了一下,但是為了時間,我決定使用之前gulp3的舊版本,後面發現自己環境的node的版本是最新的,所以不得讓我來瞭解一下gulp的新版本,裡面用到的最多就是commonj ...