JavaScript常用操作符代碼舉例
常用運(yùn)算符
條件運(yùn)算符(三元運(yùn)算符)? :
語法: condition ? exprIfTrue : exprIfFalse
用途: 根據(jù)條件condition
的結(jié)果選擇執(zhí)行兩個(gè)表達(dá)式中的一個(gè)。如果condition
為真,則執(zhí)行exprIfTrue
;否則執(zhí)行exprIfFalse
。
空值合并運(yùn)算符 ??
用途: 返回其兩個(gè)操作數(shù)中的一個(gè),如果第一個(gè)操作數(shù)為null
或undefined
,則返回第二個(gè)操作數(shù);否則返回第一個(gè)操作數(shù)。
這個(gè)運(yùn)算符用于處理默認(rèn)值的情況,當(dāng)一個(gè)變量可能為null
或undefined
時(shí),可以使用它來提供一個(gè)替代的默認(rèn)值。
可選鏈運(yùn)算符 ?.
用途: 允許安全地讀取位于連接對(duì)象鏈深處的屬性的值,而不必明確驗(yàn)證鏈中的每個(gè)引用是否有效。
如果在訪問鏈的任何部分遇到null
或undefined
,那么表達(dá)式的求值將立即停止,并返回undefined
。
按位或運(yùn)算符 |
用途: 對(duì)兩個(gè)整數(shù)進(jìn)行按位或運(yùn)算。對(duì)于每一位,只要有一個(gè)操作數(shù)的對(duì)應(yīng)位為1,結(jié)果就為1;否則為0。
此外,單個(gè)豎線|
也可以用于將浮點(diǎn)數(shù)轉(zhuǎn)換為32位有符號(hào)整數(shù)(通過與0進(jìn)行按位或運(yùn)算)。
邏輯或運(yùn)算符 ||
用途: 對(duì)兩個(gè)表達(dá)式進(jìn)行邏輯或運(yùn)算。如果第一個(gè)表達(dá)式為真(即不是false
, 0
, ""
, null
, undefined
, 或NaN
),則返回第一個(gè)表達(dá)式;否則返回第二個(gè)表達(dá)式。
常用于設(shè)置默認(rèn)值,類似于??
,但會(huì)處理更多的“假”值。
按位與運(yùn)算符 &
用途: 對(duì)兩個(gè)整數(shù)進(jìn)行按位與運(yùn)算。對(duì)于每一位,只有當(dāng)兩個(gè)操作數(shù)的對(duì)應(yīng)位都為1時(shí),結(jié)果才為1;否則為0。
邏輯與運(yùn)算符 &&
用途: 對(duì)兩個(gè)表達(dá)式進(jìn)行邏輯與運(yùn)算。如果第一個(gè)表達(dá)式為假,則返回第一個(gè)表達(dá)式;如果第一個(gè)表達(dá)式為真,則返回第二個(gè)表達(dá)式。
常用于確保多個(gè)條件都為真時(shí)才執(zhí)行某些代碼,或者用于短路求值。
算術(shù)運(yùn)算符
+
加法-
減法*
乘法/
除法%
取模(求余數(shù))**
冪運(yùn)算(指數(shù))
let sum = 5 + 3; // 8 let difference = 10 - 4; // 6 let product = 7 * 6; // 42 let quotient = 15 / 3; // 5 let remainder = 17 % 5; // 2 let power = 2 ** 3; // 8
賦值運(yùn)算符
=
簡(jiǎn)單賦值+=
加后賦值-=
減后賦值*=
乘后賦值/=
除后賦值%=
取模后賦值**=
冪運(yùn)算后賦值
比較運(yùn)算符
==
松散相等 (會(huì)進(jìn)行類型轉(zhuǎn)換)===
嚴(yán)格相等 (不會(huì)進(jìn)行類型轉(zhuǎn)換)!=
松散不相等!==
嚴(yán)格不相等>
大于<
小于>=
大于等于<=
小于等于
邏輯運(yùn)算符
let isAdult = age >= 18 && age <= 65; let hasPermission = isUser || isAdmin; let isNotAvailable = !isAvailable;
&&
邏輯與||
邏輯或!
邏輯非
位運(yùn)算符
對(duì)數(shù)字的二進(jìn)制表示進(jìn)行操作
&
按位與|
按位或^
按位異或~
按位非<<
左移>>
帶符號(hào)右移>>>
無符號(hào)右移
let result = 5 & 3; // 1 result = 5 | 3; // 7 result = 5 ^ 3; // 6 result = ~5; // -6 result = 5 << 1; // 10 result = 5 >> 1; // 2 result = 5 >>> 1; // 2 (對(duì)于正數(shù),與 `>>` 相同)
類型運(yùn)算符
typeof
返回一個(gè)字符串,指示操作數(shù)的類型instanceof
用于檢查對(duì)象是否是某個(gè)構(gòu)造函數(shù)的實(shí)例
console.log(typeof 42); // "number" console.log(typeof "hello"); // "string" console.log([] instanceof Array); // true
其他運(yùn)算符
,
逗號(hào)運(yùn)算符:可以在一條語句中執(zhí)行多個(gè)表達(dá)式。delete
:刪除對(duì)象的屬性。in
:檢查對(duì)象是否有指定的屬性。new
:創(chuàng)建一個(gè)用戶定義的對(duì)象類型的實(shí)例,或特殊對(duì)象類型的實(shí)例。...
擴(kuò)展運(yùn)算符/剩余參數(shù):用于解構(gòu)數(shù)組或?qū)ο?,或者作為函?shù)參數(shù)列表中的剩余參數(shù)。
let obj = { a: 1, b: 2 }; delete obj.a; // 刪除屬性 'a' console.log('b' in obj); // true let arr = [1, 2, 3]; let newArr = [...arr, 4, 5]; // 使用擴(kuò)展運(yùn)算符復(fù)制并添加元素 function add(...args) { return args.reduce((a, b) => a + b, 0); } console.log(add(1, 2, 3)); // 6
總結(jié)
到此這篇關(guān)于JavaScript常用操作符的文章就介紹到這了,更多相關(guān)js常用操作符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用layui實(shí)現(xiàn)樹形結(jié)構(gòu)的方法
今天小編就為大家分享一篇使用layui實(shí)現(xiàn)樹形結(jié)構(gòu)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09利用Promise自定義一個(gè)GET請(qǐng)求的函數(shù)示例代碼
這篇文章主要給大家介紹了關(guān)于如何利用Promise自定義一個(gè)GET請(qǐng)求的函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Promise具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03微信小程序中的canvas 文字?jǐn)嘈泻褪÷蕴?hào)顯示功能的處理方法
大家都知道在canvas中沒有提供方法來處理文字的多行問題,只有通過截取指定字符串來達(dá)到目的。接下來通過本文給大家介紹微信小程序中的canvas 文字?jǐn)嘈泻褪÷蕴?hào)顯示功能 ,需要的朋友可以參考下2018-11-11JS變量中有var定義和無var定義的區(qū)別以及es6中l(wèi)et命令和const命令
這篇文章主要介紹了JS變量中有var定義和無var定義的區(qū)別以及es6中l(wèi)et命令和const命令,需要的朋友可以參考下2017-02-02javascript實(shí)現(xiàn)二進(jìn)制、十進(jìn)制、十六進(jìn)制和八進(jìn)制之間相互轉(zhuǎn)換的方法
JavaScript提供了多種方法進(jìn)行不同進(jìn)制之間的轉(zhuǎn)換,包括十進(jìn)制轉(zhuǎn)二進(jìn)制、八進(jìn)制、十六進(jìn)制,以及二進(jìn)制、八進(jìn)制、十六進(jìn)制之間的相互轉(zhuǎn)換,通過使用Number.prototype.toString()和parseInt()函數(shù),可以實(shí)現(xiàn)這些轉(zhuǎn)換,需要的朋友可以參考下2025-02-02JS實(shí)現(xiàn)靜態(tài)頁面搜索并高亮顯示功能完整示例
這篇文章主要介紹了JS實(shí)現(xiàn)靜態(tài)頁面搜索并高亮顯示功能,涉及javascript事件響應(yīng)、字符遍歷替換及頁面元素屬性動(dòng)態(tài)變換等相關(guān)操作技巧,需要的朋友可以參考下2017-09-09JavaScript如何動(dòng)態(tài)創(chuàng)建table表格
這篇文章主要介紹了JavaScript如何動(dòng)態(tài)創(chuàng)建table表格,一些時(shí)候需要?jiǎng)討B(tài)的創(chuàng)建和刪除表格,接下來的文章中將為大家介紹下javascript是如何做到的,感興趣的朋友不要錯(cuò)過2015-11-11uniapp中實(shí)現(xiàn)App自動(dòng)檢測(cè)版本升級(jí)的示例代碼
本文主要介紹了uniapp中實(shí)現(xiàn)App自動(dòng)檢測(cè)版本升級(jí)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01兼容FireFox 用javascript寫的一個(gè)畫圖函數(shù)
兼容FireFox 用javascript寫的一個(gè)畫圖函數(shù)...2007-08-08