首頁 web前端 js教程 javascript基礎課程之算數表達式定義用法詳解

javascript基礎課程之算數表達式定義用法詳解

Jul 19, 2017 am 10:10 AM
javascript js 表達式

基本的算術運算子是*、/、%、+、-。除了+加法,其它的運算子特別簡單,只是在必要的時候操作符轉化為數字而已,然後求積、商、餘(模)和差。所有那些無法轉換為數字的操作都將轉換為NaN值。如果運算元(或轉換結果)是NaN值,算術運算結果也是NaN

運算子「/」用第二個運算元來除以第一個運算元,如果你有使用過那些區分整數型和浮點數型的程式語言。那麼用一個整數除以一個整數時,則希望得到的結果也是整數。在javascript中所有的數字都是浮點數型的,除法運算的結果也是浮點型。例如5/2結果是2.5,而不是2。除數為0的運算結果為正無窮大或負無窮大。而0/0的結果是NaN。所有這些運算均不會報錯。

運算子「%」計算的是第一個操作數對第二個操作數的模,換句話說,就是第一個操作數除以第二個操作鼠的餘數。結果的符號和第一個操作鼠(被除數)符號保持一致。例如5%2的結果為1,-5%2為-1。

求餘運算子的運算元通常都是整數,但也適用於浮點數。 6.5%2.1結果是0.2。 (0.19999999999999973)

i.「+」運算子

二元加法運算子「+」可以對兩個數字做加法,也可以做字串連線運算:

1+2 //=> 3
"hello" + "" + "there" // =>"hello there"
"1"+"2" //=>"12"
登入後複製

當兩個運算元都是數字或都是字串的時候,計算結果是顯而易見的。然而對於其他情況來說,則要進行一些必要的類型轉換。並且運算符的行為依賴於類型的轉換的結果。從技術上來講,加法操作符的行為表現為:

如果一個操作數是對象,則對象會遵循對像到原始值的轉換規則為原始類值(參考3章8節3小節) 。日期對物件toString()方法執行轉換,其他物件則透過valueOf()方法執行轉換(如果valueOf()方法傳回一個原始值的話)。由於多數物件都不具備可用的valueOf()方法,因此他們會透過toString()方法來執行抓換
在進行了物件到原始值的轉換後,如果其中一個操作鼠是字串的話,另一個操作數也會轉換為字串。然後進行字串連接。
否則,兩個運算元都會轉換為數字(或NaN),然後進行加法運算。
這裡有一些例子

1 + 2 //=>3 加法
"1" + "2" //=>"12" 字符串连接
"1" + 2 //=>"12"数字转换为字符串后进行字符串连接
1 + {} //=>"1[object object]":对象转换为字符串后进行字符串连接
true + true //=>2 布尔值转换为数字后做加法
2 + null //=>2 null转换为0后做加法
2 + undefined //=>NaN undefined转换为NaN做加法
登入後複製

最後,特別要注意的是。當加號運算符合字串一起使用時,要考慮加法對運算順序的影響。也就是說,運算結果是依賴運算子的運算順序的,例如

1 + 2 + "bmice" //=> "3 bmice"
1 + (2 + "bmice") => "12bmice"
登入後複製

ii.一元運算子

一元運算子作用於一個單獨的運算元。並產生一個新值。在javascript中,一元運算子具有很高的優先級,而且都是右邊結合。本節講述一元運算子(+,-,++和--),必要時,他們將操作轉換為數字。要注意的是+ -是一元運算符,也是二元運算子、

一元加法+

          一元加法運算子把運算元轉換為數字(或NaN),且傳回這個轉換後的數字。如果運算元本身就是數字,則直接傳回這個數字。

一元減法-

           當-號做一元運算子時,它會根據需要將運算元轉換為數字,然後改變運算結果的符號、

遞增+ +

           增加增加「++」運算子對其運算元進行增量(+1)的運算,操作數一個左值(變數、陣列元素或物件屬性)。運算子將操作數轉換為數字。然後給數字加1、並將加1後的數值重新賦值給變數、陣列元素或物件屬性。

           增加++ 運算回傳值依賴它對運算元的位置。

           當運算子在運算元數之前,稱為「前增量」(pre-increment)運算符,它對運算元進行增量計算,並傳回計算後的值。

           當運算子在操作數之後,稱為"後增量"(post-increment)運算符,它對運算元進行增量計算,但返回為做增量計算的(unincremented)值。如

            var i = 1,j = ++i //i和j的值都是2
           jj = i++; #要注意的是,便打算++x並總和x=x+1完全一樣,「++」運算子從不進行字串連接操作,它總會將操作數轉換為數字並增加1.如果x是字串“1”,++x的結果就是數字2,而x+1是字串"11"

遞減和遞增的操作方式是同樣的,它把操作數轉換為數組,然後減1.

iii.位元運算子

位元運算子可以對數字表示的二進位資料進行較低層級的位元運算。儘管它們不是傳統的純數學運算,但這裡也歸類為算術運算符,因為他們作用於數值類型的操作並傳回數字。

以上是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