IMG-LOGO
×

Tài Liệu Học

Khoá học lập trình Javascript

Khai báo biến & hàm mặc định trong Javascript

[Video] Tạo dự án JS đầu tiên - Lập Trình JS [Video] Khai báo biến - toán tử - Lập Trình JavaScript [Video] Các hàm sẵn có trong js - Khoá Học Lập Trình JS

Mệnh đề điều kiện

[Video] Cấu trúc điều kiện if else switch - Lập trình Javascript

Vòng lặp for, while, do..while

[Video] Tìm hiểu vòng lặp for, while, do .. while trong Javascript

Array & Function & Object

[Video] Tìm hiểu Function trong Javascript [Video] Tìm hiểu Array trong Javascript [Video] Khai báo Object trong Javascript [Video] Gửi giữ liệu qua các trang html bằng javascript - HTML/CSS [Video] Bài tập - ôn tập mảng - quản lý sinh viên - Lập trình Javascript [Video] Khai báo function trong Object - Lập trình Javascript [Video] Tìm hiểu function trong string - Lập trình Javascript

Xử lý sự kiện & thao tác thẻ HTML

[Video] Event - Lập Trình JS [Video] Tương tác lên tags trong HTML bằng JS [Video] Thêm tags vào tags khác bằng javascript + ví du thêm sinh viên - lập trình JS [Video] Tương tác thẻ HTML bằng Javascript qua ví dụ đặt đơn hàng (Order Entry Form) [Video] Bài tập - Quản lý sản phẩm bằng javascript - lập trình javascript [Video] Quản lý sinh viên - Lập trình Javascript

Lưu trữ Javascript

[Video] Cookie - khoá học lập trình JavaScript [Video] Localstorage - Khoá học lập trình JavaScript [Video] Lưu trữ thông tin sinh viên bằng LocalStorage - Lập trình Javascript

Examination & Ôn Tập Tổng Quát

1000 Bài tập JavaScript - Lập Trình JavaScript




Trang Chủ Học JS JavaScript Arithmetic - Số học trong JavaScript

JavaScript Arithmetic - Số học trong JavaScript

by GokiSoft.Com - 09:50 20/05/2020 3,261 Lượt Xem

JavaScript Arithmetic Operators


Các toán tử số học thể hiện các phép toán trên chữ số (các giá trị cố định hoặc các biến).

Toán tửMô tả
+Cộng
-Trừ
*Nhân
**Lũy thừa (ES2016)
/Chia
%Chia lấy số dư
++Tăng 
--Giảm



Các toán tử số học(Arithmetic Operations)


Một toán tử số học điển hình hoạt động trên hai số.

Hai số có thể là số gốc:

ví dụ

var x = 100 + 50;
<!DOCTYPE html>
<html>
<body>

<p>A typical arithmetic operation takes two numbers and produces a new number.</p>

<p id="demo"></p>

<script>
var x = 100 + 50;
document.getElementById("demo").innerHTML = x;
</script>

</body>
</html>


Hoặc là hai biến:

ví dụ

var x = a + b;
<!DOCTYPE html>
<html>
<body>

<p>A typical arithmetic operation takes two numbers (or variables) and produces a new number.</p>

<p id="demo"></p>

<script>
var a = 100;
var b = 50;
var x = a + b;
document.getElementById("demo").innerHTML = x;
</script>

</body>
</html>


Hoặc là biểu thức:

ví dụ

var x = (100 + 50) * a;
<!DOCTYPE html>
<html>
<body>

<p>A typical arithmetic operation takes two numbers (or expressions) and produces a new number.</p>

<p id="demo"></p>

<script>
var a = 3;
var x = (100 + 50) * a;
document.getElementById("demo").innerHTML = x;
</script>

</body>
</html>



Các toán tử và các toán hạng(Operators and Operands)


Các số (trong một phép toán) gọi là các toán hạng.

Sự tính toán (được thể hiện giữa hai toán hạng) được xác định bằng một toán tử.

Toán hạngToán tửToán hạng
100+50



Cộng(Adding)


Toán tử cộng (+) cộng các chữ số:

ví dụ

var x = 5;
var y = 2;
var z = x + y;
<!DOCTYPE html>
<html>
<body>

<h2>The + Operator</h2>

<p id="demo"></p>

<script>
var x = 5;
var y = 2;
var z = x + y;
document.getElementById("demo").innerHTML = z;
</script>

</body>
</html>



Trừ(Subtracting)


Toán tử trừ  (-) trừ các chữ số.

ví dụ

var x = 5;
var y = 2;
var z = x - y;
<!DOCTYPE html>
<html>
<body>

<h2>The - Operator</h2>

<p id="demo"></p>

<script>
var x = 5;
var y = 2;
var z = x - y;
document.getElementById("demo").innerHTML = z;
</script>

</body>
</html>



Nhân(Multiplying)


Toán tử nhân  (*) nhân các chữ số:

ví dụ

var x = 5;
var y = 2;
var z = x * y;
<!DOCTYPE html>
<html>
<body>

<h2>The * Operator</h2>

<p id="demo"></p>

<script>
var x = 5;
var y = 2;
var z = x * y;
document.getElementById("demo").innerHTML = z;
</script>

</body>
</html>



Chia(Dividing)


Toán tử chia  (/)  chia các chữ số:

ví dụ

var x = 5;
var y = 2;
var z = x / y;
<!DOCTYPE html>
<html>
<body>

<h2>The / Operator</h2>

<p id="demo"></p>

<script>
var x = 5;
var y = 2;
var z = x / y;
document.getElementById("demo").innerHTML = z;
</script>

</body>
</html>



Lấy dư(Remainder)


Toán tử chia lấy dư  (%) trả về phần bị dư khi chia.

ví dụ

var x = 5;
var y = 2;
var z = x % y;
<!DOCTYPE html>
<html>
<body>

<h2>The % Operator</h2>

<p id="demo"></p>

<script>
var x = 5;
var y = 2;
var z = x % y;
document.getElementById("demo").innerHTML = z;
</script>

</body>
</html>


Tip: Trong số học, phép chia của hai số nguyên cho ra một thương và một số dư.

Trong lập trình, kết quả của toán tử lấy dư là phần dư của phép chia.



Tăng(Incrementing)


Toán tử tăng (++) tăng các chữ số.

ví dụ

var x = 5;
x++;
var z = x;
<!DOCTYPE html>
<html>
<body>

<h2>The ++ Operator</h2>

<p id="demo"></p>

<script>
var x = 5;
x++;
var z = x;
document.getElementById("demo").innerHTML = z;
</script>

</body>
</html>



Giảm(Decrementing)


Toán tử giảm (--) giảm các chữ số.

ví dụ

var x = 5;
x--;
var z = x;
<!DOCTYPE html>
<html>
<body>

<h2>The -- Operator</h2>

<p id="demo"></p>

<script>
var x = 5;
x--;
var z = x;
document.getElementById("demo").innerHTML = z;
</script>

</body>
</html>



Exponentiation


Toán tử lũy thừa  (**) nhân lên toán hạng đầu tiên bằng giá trị toán hạng thứ hai.

ví dụ

var x = 5;
var z = x ** 2;   
<!DOCTYPE html>
<html>
<body>

<h2>The ** Operator</h2>

<p id="demo"></p>

<script>
var x = 5;
document.getElementById("demo").innerHTML = x ** 2;
</script>

</body>
</html>


x ** y cho ra cùng một kết quả với  Math.pow(x,y):

ví dụ

var x = 5;
var z = Math.pow(x,2);   // result is 25
<!DOCTYPE html>
<html>
<body>

<h2>Math.pow()</h2>

<p id="demo"></p>

<script>
var x = 5;
document.getElementById("demo").innerHTML = Math.pow(x,2);
</script>

</body>
</html>



Sự ưu tiên toán tử(Operator Precedence)


Sự ưu tiên các toán tử thể hiện thứ tự mỗi phép tính được thực hiện trong một biểu thức toán học.

ví dụ

var x = 100 + 50 * 3;
<!DOCTYPE html>
<html>
<body>

<p>Multiplication has precedence over addition.</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = 100 + 50 * 3;
</script>

</body>
</html>


Có phải kết quả của ví dụ trên giống với 150 * 3, hay nó giống với 100 + 150?

Có phải phép cộng hay phép nhân được hoàn thành trước?

Trong toán học truyền thống, phép nhân được tính trước.

Sự nhân  (*) và chia  (/) có thứ tự ưu tiên cao hơn là cộng  (+) và trừ (-).

Và (như trong toán học) sự ưu tiên có thể được thay đổi bằng việc dùng ngoặc đơn.

ví dụ

var x = (100 + 50) * 3;
<!DOCTYPE html>
<html>
<body>

<p>Multiplication has precedence over addition.</p>
<p>But parenthesis has precedence over multiplication.</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = (100 + 50) * 3;
</script>

</body>
</html>


Khi sử dụng dấu ngoặc đơn, các toán tử bên trong dấu ngoặc đơn được tính toán trước.

Khi có nhiều toán tử có cùng một mức độ ưu tiên(như cộng và trừ), chúng được tính toán từ trái sang phải.

ví dụ

var x = 100 + 50 - 3;
<!DOCTYPE html>
<html>
<body>

<p>When many operations has the same precedence, they are computed from left to right.</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = 100 + 50 - 3;
</script>

</body>
</html>



Các giá trị ưu tiên của toán tử trong JavaScript(JavaScript Operator Precedence Values)


Tip: Các mục màu đỏ nhạt cho biết ECMAScript 2015(ES6) hoặc cao hơn. 

Giá trịToán tửMô tảVí dụ
20( )Nhóm biểu thức(3 + 4)
    
19.Thành viênperson.name
19[]Thành viênperson["name"]
19()Gọi hàmmyFunction()
19newTanew Date()
    
17++Tăng tiền tối++
17--Giảm tiền tối--
    
16++Tiền tố tăng++i
16--Tiền tố giảm--i
16!Logic phủ định!(x==y)
16typeofKiểutypeof x
    
15**Lũy thừa (ES2016)10 ** 2
    
14*Nhân10 * 5
14/Chia10 / 5
14%Chia lấy dư10 % 5
    
13+Cộng10 + 5
13-Trừ10 - 5
    
12<<Dịch sang tráix << 2
12>>Dịch sang phải
x >> 2
12>>>Dịch sang phải (không dấu)
x >>> 2
    
11<Bé hơnx < y 
11<=Bé hơn hoặc bằngx <= y
11>Lớn hơnx > y
11>=Lớn hơn hoặc bằng
x >= y
11inProperty trong Object"PI" in Math
11instanceofInstance cua Objectinstanceof Array
    
10==Bằngx == y
10===Bằng chặt chẽx === y
10!=Không bằngx != y
10!==Không bằng chặt chẽx !== y
    
9&Bitwise ANDx & y
8^Bitwise XORx ^ y
7|Bitwise ORx | y
6&&Logical ANDx && y
5||Logical ORx || y
4? :Điều kiện? "Yes" : "No"
    
3+=Gánx += y
3/=Gán
x /= y
3-=Gán
x -= y
3*=Gán
x *= y
3%=Gán
x %= y
3<<=Gán
x <<= y
3>>=Gán
x >>= y
3>>>=Gán
x >>>= y
3&=Gán
x &= y
3^=Gán
x ^= y
3|=Gán
x |= y
    
2yieldDừng hàmyield x
1,Phẩy5 , 6



Bình luận



Tài Liệu Tham Khảo

Đã sao chép!!!