# 站在 Python 的肩膀上開啟 JavaScript 的大門,用 Py 角度學 JS | Ep. 4 運算符與數學 :::info 這個系列帶著各位通過Python的角度,開始認識JavaScript這個實用的程式語言。專為曾經學習Python或認識Python,並且想學習JavaScript的人們設計,將會頻繁的提到每一種函式或語法與Python相關之處,便於將理解的知識再次利用,從中學習! ::: 本文章同步發布於 OTP Blog 個人部落格,歡迎[前往閱讀](https://winson-otp.github.io/posts/from-python-to-javascript-ep-4/)! ## 前言 這篇文章將帶著各位認識 JavaScript 中的運算符號,以及其他數學相關的函式,讓各位能夠通過 JavaScript ,進行數學相關的運算,做出更有特色的作品! JavaScript 有許多的運算符號,都能夠在 Python 中進行使用。包括但不限於:加、減、乘、除 ( `+`, `-`, `*`, `/` )、取餘數 (`%`)、指數 (`**`)。 ## 運算符號 這邊介紹 JavaScript 中含有的六種運算符號,也就是前言中提到的加、減、乘、除 ( `+`, `-`, `*`, `/` )、取餘數 (`%`)、指數 (`**`)。 首先要介紹的是如何使用運算符號,用法為 `值 運算符號 值`,例如我們要將 1 和 2 相加,則使用加法符號,並以此方式排序 `1 + 2` ,並且空格是可以省略的。 此外需要注意的一點, JavaScript 中會遵從先乘除後加減的原則,並且可以使用括號來調整先後的運算順序。 以下將運算符號左側的值稱為a,右側稱為b: ### a + b 加法 加法,也就是將兩個數字加在一起,即a加上b。 ```javascript let a = 1 + 1; // 2 let b = 49 + 51; // 100 let c = 50 + 50 + 50; // 150 ``` ### a - b 減法 減法,也就是將左側的數字減去右側的數字,即a減去b。 ```javascript let d = 3 - 2; // 1 let e = 100 - 19; // 81 let f = 100 - 10 - 20; // 70 ``` ### a * b 乘法 乘法,也就是左側的數字乘以右側的數字,即a乘以b。 ```javascript let g = 2 * 3; // 6 let h = 9 * 4; // 36 let i = 2 * 3 * 4; // 24 ``` ### a / b 除法 除法,也就是將左側的數字除以右側的數字,即a除以b。 ```javascript let j = 3 / 2; // 1.5 let k = 10 / 5; // 2 let l = 9 / 2 / 1.5; // 3 ``` ### a % b 取餘數 取餘數,也就是將左側的數字除以右側數字後,留下的餘數,即a除以b之餘數,若整除則為0。 ```javascript let m = 3 % 2; // 1 let n = 10 % 5; // 0 let o = 9 % 4 % 3; // 1 (9先與4進行運算,餘數為1,再與3進行運算之結果) ``` ### a ** b 指數 指數,也就是左側數字的右側數字次方,即a的b次方。 ```javascript let p = 2 ** 2; // 4 let q = 1 ** 3; // 1 let r = 2 ** 2 ** 2; // 16 (2的2次方先行運算,並且再進行2次方運算之結果) ``` ## 運算函式 接下來要介紹的是運算的相關函式,會介紹到的有 `Math.round() 四捨五入`、`Math.ceil() 無條件進位`、`Math.floor() 無條件捨去`、`Math.trunc() 去除小數`、`Math.abs() 絕對值`、`Math.sign() 判斷正負數或0`。 這部分由於與 Python 較為相異,並且主要所需觀念為數學方面的認識,因此暫不介紹與 Python 之間的相關性。 ### Math.round() 四捨五入 ```javascript Math.round(3.14) // 3 Math.round(52.3) // 52 // 預設為四捨五入到整數位,可以通過下述方法變更 Math.round(3.14 * 10)/10 // 3.1 ``` ### Math.floor() 無條件捨去 取比提供參數小或等於參數的最大整數 ```javascript Math.floor(6.5) // 6 Math.floor(9.19) // 9 ``` ### Math.trunc() 去除小數 捨棄所有小數,僅保留整數位 ```javascript Math.trunc(1.99) // 1 Math.trunc(33.920) // 33 ``` ### Math.ceil() 無條件進位 取比提供參數大或等於參數的最小整數 ```javascript Math.ceil(6.1) // 7 Math.ceil(10) // 10 ``` ### Math.abs() 絕對值 若提供參數為負數,將回傳為提供參數的相反數,否則回傳原數字 ```javascript Math.abs(-9) // 9 Math.abs(100) // 100 ``` ### Math.sign() 判斷正負數或0 回傳提供的參數是正數(1)、負數(-1)或零(0) ```javascript Math.sign(-3) // -1 Math.sign(0) // 0 Math.sign(10) // 1 ``` 以上便是本文介紹的所有數學函式! ## 練習 位了讓各位能夠更加了解 JavaScript 中的基本運算符號,以及複習前幾集的相關內容,這邊出一個小小的練習題給大家,歡迎將您的成果留言分享哦! > **題目**:使用 JavaScript 製作一個簡單的運算符號計算機 > > **引導**: > 1. 設定兩個變數,分別用於作為運算符號前的數字,以及運算符號後的數字 > 2. 讓程式執行時輸出這兩個變數,進行加、減、乘、除四種運算,並且輸出結果 > > **舉例**: > > 將第一個變數輸入 2 第二個變數輸入 1 ,輸出的結果將會是 > ``` > 3 > 1 > 2 > 2 > ``` 若能夠以不同的形式輸入這樣的參數後,能夠輸出正確的內容,也是正確的做法唷! 歡迎將您的作品在留言區分享,筆者也會抽空留言給予建議哦! ## 結語 這篇文章和各位介紹了幾種 JavaScript 中的運算符號,以及一些常用的數字處理相關函式!希望對大家學習 JavaScript ,或是製作數學相關程式有著多多少少的幫助~ 以上便是這篇文章全部的內容囉,感謝您的閱讀! ###### tags: `Python` `JavaScript`