JavaScript 條件判斷與比較運(yùn)算示例代碼
一、條件判斷
JavaScript 中有三種方法可以用來(lái)進(jìn)行條件判斷:
1、使用 if-else 語(yǔ)句。這種方法用于在特定條件為 true 時(shí)執(zhí)行一段代碼,否則執(zhí)行另一段代碼。例如:
let a = 5;
if (a > 10) {
console.log("a is greater than 10");
} else {
console.log("a is not greater than 10");
}2、使用 switch 語(yǔ)句。這種方法用于在多個(gè)條件之間做出選擇,并在符合特定條件時(shí)執(zhí)行相應(yīng)的代碼塊。例如:
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、使用三元運(yùn)算符 ( ? : )。這種方法用于在特定條件為 true 時(shí)返回一個(gè)值,否則返回另一個(gè)值。例如:
let c = 5; let d = (c > 10) ? "c is greater than 10" : "c is not greater than 10"; console.log(d);
在 JavaScript 中 三元運(yùn)算符和 if-else 語(yǔ)句的功能是類似的,但是三元運(yùn)算符的語(yǔ)法更簡(jiǎn)潔,適用于比較簡(jiǎn)單的條件判斷。
二、比較運(yùn)算
1、使用關(guān)系運(yùn)算符(>,<,>=,<=,==,!=,===,!==)。這些運(yùn)算符可以比較兩個(gè)數(shù)據(jù),并返回一個(gè)布爾值(true 或 false)。例如:
== 比較運(yùn)算符會(huì)在比較兩個(gè)變量值時(shí)自動(dòng)進(jìn)行類型轉(zhuǎn)換。例如:
let a = 5; let b = "5"; console.log(a == b); // true
=== 比較運(yùn)算符不會(huì)進(jìn)行類型轉(zhuǎn)換,它會(huì)比較兩個(gè)變量值和類型是否相同。例如:
let a = 5; let b = "5"; console.log(a === b); // false
!= 比較運(yùn)算符會(huì)在比較兩個(gè)變量值時(shí)自動(dòng)進(jìn)行類型轉(zhuǎn)換,如果值不相等返回 true。例如:
let a = 5; let b = "5"; console.log(a != b); // false
!== 比較運(yùn)算符不會(huì)進(jìn)行類型轉(zhuǎn)換,它會(huì)比較兩個(gè)變量值和類型是否不同。例如:
let a = 5; let b = "5"; console.log(a !== b); // true
通常建議使用 === 和 !== 比較運(yùn)算符,因?yàn)樗鼈儾粫?huì)進(jìn)行類型轉(zhuǎn)換,可以避免一些錯(cuò)誤。
>,<,>=,<= 比較運(yùn)算符用于比較兩個(gè)變量的大小關(guān)系,如果符合條件返回 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() 方法。這個(gè)方法可以用來(lái)確定兩個(gè)值是否相等,并返回一個(gè)布爾值(true 或 false)。例如:
let c = 5; let d = "5"; console.log(Object.is(c, d)); // false
注意:與 == 的不同之處是,== 會(huì)嘗試轉(zhuǎn)換數(shù)據(jù)類型,而 Object.is() 不會(huì)。
3、使用 JSON.stringify() 方法將數(shù)組或?qū)ο筠D(zhuǎn)換為字符串,然后使用關(guān)系運(yùn)算符或 Object.is() 方法來(lái)比較字符串。例如:
let e = [1, 2, 3]; let f = [1, 2, 3]; console.log(JSON.stringify(e) === JSON.stringify(f)); // true
4、使用第三方庫(kù) lodash 的 isEqual() 方法。這個(gè)方法可以用來(lái)深度比較兩個(gè)數(shù)組或?qū)ο?,并返回一個(gè)布爾值(true 或 false)。例如:
let g = {a: 1, b: 2};
let h = {b: 2, a: 1};
console.log(_.isEqual(g, h)); // true5、使用第三方庫(kù) Ramda 的 equals() 方法,具有與 lodash 的 isEqual() 方法類似的功能。
注意:上面提到的 JSON.stringify() 和 lodash/Ramda 的方法都是深比較,這意味著它們將遞歸比較整個(gè)數(shù)組或?qū)ο蟮乃袑傩浴?/p>
6、instanceof: 用于判斷一個(gè)對(duì)象是否是某個(gè)構(gòu)造函數(shù)的實(shí)例。
let obj = new Object(); console.log(obj instanceof Object); // true console.log(obj instanceof Array); // false
7、in: 用于判斷一個(gè)對(duì)象是否有某個(gè)屬性。
let obj = {a:1,b:2};
console.log("a" in obj); // true
console.log("c" in obj); // false這些運(yùn)算符的結(jié)果也是一個(gè)布爾值,可以在條件判斷中使用。
注意:在使用 instanceof 和 in 時(shí)要注意對(duì)象類型和作用域的問(wèn)題。
到此這篇關(guān)于JavaScript 條件判斷與比較運(yùn)算的文章就介紹到這了,更多相關(guān)js比較運(yùn)算內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Bootstrap3.0建站教程(一)之bootstrap表單元素排版
本文給大家介紹Bootstrap3.0建站教程(一)之bootstrap表單元素排版,本文給大家列舉了文字和輸入框前后排列和上下排列的實(shí)例代碼,有需要的朋友參考下吧2016-06-06
js中各種數(shù)據(jù)類型檢測(cè)和判定的實(shí)戰(zhàn)示例
typeof一般被用于判斷一個(gè)變量的類型,我們可以利用typeof來(lái)判斷number,string,object,boolean,function,undefined,symbol這七種類型,下面這篇文章主要給大家介紹了關(guān)于js中各種數(shù)據(jù)類型檢測(cè)和判定的相關(guān)資料,需要的朋友可以參考下2022-11-11
一個(gè)對(duì)于Array的簡(jiǎn)單擴(kuò)展
一個(gè)對(duì)于Array的簡(jiǎn)單擴(kuò)展...2006-10-10
解決Layui 表單提交數(shù)據(jù)為空的問(wèn)題
今天小編就為大家分享一篇解決Layui 表單提交數(shù)據(jù)為空的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
Javascript中產(chǎn)生固定結(jié)果的函數(shù)優(yōu)化技巧
分享一個(gè)Javascript編寫函數(shù)的優(yōu)化技巧;適用的函數(shù)應(yīng)該要滿足以下條件;產(chǎn)生固定結(jié)果;復(fù)雜或較耗時(shí)等等,感興趣的朋友可以了解下2013-01-01
JavaScript程序開(kāi)發(fā)之JS代碼放置的位置
JavaScript在頁(yè)面中使用,那么這些JS代碼應(yīng)該放在什么位置呢?接下來(lái)通過(guò)本文一起學(xué)習(xí)吧2016-01-01
探討JavaScript標(biāo)簽位置的存放與功能有無(wú)關(guān)系
在網(wǎng)頁(yè)中,我們可以將JavaScript代碼放在html文件中任何位置,但一般放在head或body標(biāo)簽里面。一般來(lái)說(shuō),<script>元素放在哪里與其的功能作用是緊密相關(guān)的,通過(guò)本文我們一起學(xué)習(xí)下2016-01-01

