首頁 web前端 js教程 JavaScript中的各種操作符匯總

JavaScript中的各種操作符匯總

Jul 04, 2017 pm 03:23 PM
javascript js 匯總

這裡我們說的運算子包括算數運算子和邏輯運算子等,包括布林與賦值等,為大家進行了JavaScript中的各種運算子使用總結,需要的朋友可以參考下

一元運算子
#只能操作一個值的運算子叫一元運算子。
一元操作符是ECMAScript中最簡單的操作符。

1.遞增和遞減運算子
遞增遞減運算子直接借鏡C,而且各有兩個版本:前置型和後置型。顧明思義,前置型應該讓位給要操作的變數之前,而後置型應該位於要操作的變數之後。
前置型:

var num1 = 1;
var num2 = 2;
var num3 = ++num1 + num2;//4
登入後複製

後置型:

var num1 = 1;
var num2 = 2;
var num3 = num1++ + num2;//3
登入後複製

上述兩段程式碼得出了不同的結果,原因就在與,後置遞增遞減與前置遞增遞減有一個非常重要的區別,即後置遞增遞減操作是在包含它們的語句被求值之後才執行的。

適用範圍:
前置遞增遞減與後置遞增遞減所有這四個運算子對任何值都適用。應用於不同值時,此運算元會像Number()轉型函數一樣對數值進行轉換,轉換後進行加減1的操作。

2.一元加和減運算子
一元加和減運算子主要用於基本的算術運算,也可以用來轉換資料型別 (該運算元會像Number()轉型函數一樣對這個值進行轉換)。

布林運算子
布林運算子一共有三個:非(NOT)、與(AND)、或(OR)。

1.邏輯非
邏輯非運算子由一個嘆號表示(!),可以套用於ECMAScript中的任何值。無論這個值是什麼資料類型,這個操作符都會傳回一個布林值。

同時使用兩個邏輯非運算符,實際上就會模擬Boolean()轉型函數的行為

#2.邏輯與
##邏輯與運算符由兩個和號(&&)表示,有兩個操作數且可運用於任何類型的操作數。邏輯與屬於短路操作,也就是如果第一個操作數求值結果是false,那麼就不會對第二個操作數求值。
當兩個值都為真值時,結果為true。當兩個值為一真一假時,結果為false。當兩個值都為假值時,傳回false。
其中一個值不是布林值時:遵循下列規則

第一個運算元為假,傳回第一個;

第一個運算元為真的時候,回傳第二個。

如果第一個操作數是對象,則傳回第二個操作數

var a = {b:1};
a && 'ss'//"ss"
登入後複製

如果第二個操作數是對象,則只有在第一個操作數的求值結果為true的情況下才會傳回該物件

'ss' && a//Object {b: 1}
登入後複製

如果兩個運算元都是對象,則傳回第二運算元

var c = {d:2};
c && a//Object {b: 1}
登入後複製

(1)如果有運算元是null,則傳回null

(2)如果有一個運算元是NaN,則回傳NaN
(3)如果有一個運算元是undefined,則傳回undefinded

##3.邏輯或

與邏輯與運算子相似,邏輯或運算子也是短路運算子。也就是說,如果第一個操作數的求值結果為true,就不會對第二個操作數求值了。
(1)第一個運算元為真,傳回第一個

(2)第一個運算元為假,傳回第二個


乘性運算子
ECMAScript定義了3個乘性運算子:乘法、除法和模

Infinity*0//NaN
0/0//NaN
Infinity/Infinity//NaN
登入後複製

加上性運算子

1.加法(轉字串)
兩個運算子都是數值
執行常規的加法計算。

Infinity + -Infinity//NaN
登入後複製

如果有一個運算元是字串

如果兩個運算子都是字串,則將第二個運算子與第一個運算子拼接起來

如果只有一個運算元是字串,則將另一個運算元轉換為字串,然後再將兩個字串拼接起來。

如果這個運算元是物件、數值或布林值,則呼叫它們的toString()方法取得對應的字串值,然後再套用前面關於字串的規則。對於null和undefined,則分別呼叫String()函數並取得字串"undefined"和"null"。

2 + '' //"2"
登入後複製

2.減法(轉數值)

如果兩個運算元都是數值
執行常規的算術減發運算並傳回結果,如果有運算元是NaN,則結果是NaN

Infinity - Infinity//NaN
登入後複製

如果有一個運算元不是數值

如果有一個運算元是字串、布林值、null或undefined,則先在後台呼叫Number( )函數將其轉換為數值,然後再根據前面的規則執行減法計算。如果轉化的結果是NaN,則減法的結果就是NaN。

如果有一個運算元是對象,則呼叫對象的valueOf()方法以取得表示該對象的數值。如果得到的值是NaN,則減法的結果是NaN。如果物件沒有valueOf()方法則呼叫其toString()方法並將所得的字串轉換為數值。

5 - true//4
登入後複製

关系操作符
如果两个操作数都是数值,则执行数值比较
如果两个操作数都是字符串,则比较两个字符串对应的字符编码值
如果一个操作数是数值,则将另一个操作数转换为数值,然后执行数值比较

var result = &#39;23&#39; < &#39;3&#39;//true
var result = &#39;23&#39; < 3//false
登入後複製

相等操作符
1.相等和不相等
先转换再比较

(1)如果有一个操作数是布尔值,则在比较相等性之前,先将其转换为数值
(2)如果有一个操作数是字符串,另一个操作数是数值,先将其转换为数值
(3)如果有一个操作数是对象,另一个不是,则调用对象的valueOf()方法,用得到的基本类型值按前面的基本规则进行比较
null和undefined是相等的
要比较相等性之前不能将null和undefined转换为任何其他值
如果两个操作数都是NaN,相等操作符也返回false,按规则,NaN不等于NaN

2.全等和不全等
仅比较而不转换

"55" !== 55 //true
登入後複製

条件操作符

variable = boolean_expression ? true_value : false_value
登入後複製

本质上,这段代码的含义就是基于对boolean_expression求值的结果,决定给变量variable赋什么值。如果求值结果为true,则给变量赋true_value;如果求值结果为false,则给变量variable赋false_value值。

赋值操作符
简单的赋值操作符由等号表示,其作用就是把右侧的值赋给左侧的变量。

逗号操作符
逗号操作符多用于声明多个变量;但除此之外,逗号操作符还用来赋值。在用于赋值时,逗号操作符总会返回表达式中的最后一项。

以上是JavaScript中的各種操作符匯總的詳細內容。更多資訊請關注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

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

熱工具

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

如何使用WebSocket和JavaScript實現線上語音辨識系統 如何使用WebSocket和JavaScript實現線上語音辨識系統 Dec 17, 2023 pm 02:54 PM

如何使用WebSocket和JavaScript實現線上語音辨識系統引言:隨著科技的不斷發展,語音辨識技術已成為了人工智慧領域的重要組成部分。而基於WebSocket和JavaScript實現的線上語音辨識系統,具備了低延遲、即時性和跨平台的特點,成為了廣泛應用的解決方案。本文將介紹如何使用WebSocket和JavaScript來實現線上語音辨識系

建議:優秀JS開源人臉偵測辨識項目 建議:優秀JS開源人臉偵測辨識項目 Apr 03, 2024 am 11:55 AM

人臉偵測辨識技術已經是一個比較成熟且應用廣泛的技術。而目前最廣泛的網路應用語言非JS莫屬,在Web前端實現人臉偵測辨識相比後端的人臉辨識有優勢也有弱勢。優點包括減少網路互動、即時識別,大大縮短了使用者等待時間,提高了使用者體驗;弱勢是:受到模型大小限制,其中準確率也有限。如何在web端使用js實現人臉偵測呢?為了實現Web端人臉識別,需要熟悉相關的程式語言和技術,如JavaScript、HTML、CSS、WebRTC等。同時也需要掌握相關的電腦視覺和人工智慧技術。值得注意的是,由於Web端的計

WebSocket與JavaScript:實現即時監控系統的關鍵技術 WebSocket與JavaScript:實現即時監控系統的關鍵技術 Dec 17, 2023 pm 05:30 PM

WebSocket與JavaScript:實現即時監控系統的關鍵技術引言:隨著互聯網技術的快速發展,即時監控系統在各個領域中得到了廣泛的應用。而實現即時監控的關鍵技術之一就是WebSocket與JavaScript的結合使用。本文將介紹WebSocket與JavaScript在即時監控系統中的應用,並給出程式碼範例,詳細解釋其實作原理。一、WebSocket技

股票分析必備工具:學習PHP和JS繪製蠟燭圖的步驟 股票分析必備工具:學習PHP和JS繪製蠟燭圖的步驟 Dec 17, 2023 pm 06:55 PM

股票分析必備工具:學習PHP和JS繪製蠟燭圖的步驟,需要具體程式碼範例隨著網路和科技的快速發展,股票交易已成為許多投資者的重要途徑之一。而股票分析是投資人決策的重要一環,其中蠟燭圖被廣泛應用於技術分析。學習如何使用PHP和JS繪製蠟燭圖將為投資者提供更多直觀的信息,幫助他們更好地做出決策。蠟燭圖是一種以蠟燭形狀來展示股票價格的技術圖表。它展示了股票價格的

如何利用JavaScript和WebSocket實現即時線上點餐系統 如何利用JavaScript和WebSocket實現即時線上點餐系統 Dec 17, 2023 pm 12:09 PM

如何利用JavaScript和WebSocket實現即時線上點餐系統介紹:隨著網路的普及和技術的進步,越來越多的餐廳開始提供線上點餐服務。為了實現即時線上點餐系統,我們可以利用JavaScript和WebSocket技術。 WebSocket是一種基於TCP協定的全雙工通訊協議,可實現客戶端與伺服器的即時雙向通訊。在即時線上點餐系統中,當使用者選擇菜餚並下訂單

PHP與JS開發技巧:掌握繪製股票蠟燭圖的方法 PHP與JS開發技巧:掌握繪製股票蠟燭圖的方法 Dec 18, 2023 pm 03:39 PM

隨著網路金融的快速發展,股票投資已經成為了越來越多人的選擇。而在股票交易中,蠟燭圖是常用的技術分析方法,它能夠顯示股票價格的變動趨勢,幫助投資人做出更精準的決策。本文將透過介紹PHP和JS的開發技巧,帶領讀者了解如何繪製股票蠟燭圖,並提供具體的程式碼範例。一、了解股票蠟燭圖在介紹如何繪製股票蠟燭圖之前,我們首先需要先了解什麼是蠟燭圖。蠟燭圖是由日本人

JavaScript與WebSocket:打造高效率的即時天氣預報系統 JavaScript與WebSocket:打造高效率的即時天氣預報系統 Dec 17, 2023 pm 05:13 PM

JavaScript和WebSocket:打造高效的即時天氣預報系統引言:如今,天氣預報的準確性對於日常生活以及決策制定具有重要意義。隨著技術的發展,我們可以透過即時獲取天氣數據來提供更準確可靠的天氣預報。在本文中,我們將學習如何使用JavaScript和WebSocket技術,來建立一個高效的即時天氣預報系統。本文將透過具體的程式碼範例來展示實現的過程。 We

簡易JavaScript教學:取得HTTP狀態碼的方法 簡易JavaScript教學:取得HTTP狀態碼的方法 Jan 05, 2024 pm 06:08 PM

JavaScript教學:如何取得HTTP狀態碼,需要具體程式碼範例前言:在Web開發中,經常會涉及到與伺服器進行資料互動的場景。在與伺服器進行通訊時,我們經常需要取得傳回的HTTP狀態碼來判斷操作是否成功,並根據不同的狀態碼來進行對應的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態碼,並提供一些實用的程式碼範例。使用XMLHttpRequest

See all articles