Toán tử số học trong JavaScript. Toán tử số học Làm tròn xuống số nguyên gần nhất

Sau khi nói về các ưu tiên, tính liên kết và các vấn đề nhỏ khác, chúng ta có thể bắt đầu thảo luận về chính các toán tử. Phần này cung cấp mô tả về các toán tử số học:

Cộng (+)
Toán tử cộng thêm các toán hạng số hoặc thực hiện nối chuỗi. Nếu một trong các toán hạng là một chuỗi thì toán hạng còn lại sẽ được chuyển đổi thành một chuỗi và phép nối được thực hiện. Các toán hạng của đối tượng được chuyển đổi thành số hoặc chuỗi, có thể được thêm hoặc nối. Việc chuyển đổi được thực hiện bằng cách sử dụng các phương thức valueOf() và/hoặc toString().

Phép trừ (-)
Khi dấu trừ được sử dụng làm toán tử nhị phân, nó sẽ trừ toán hạng thứ hai khỏi toán hạng đầu tiên. Nếu toán hạng không phải là số được chỉ định, nó sẽ cố gắng chuyển đổi chúng thành số.

Phép nhân (*)
Toán tử * nhân hai toán hạng của nó. Nó cố gắng chuyển đổi các toán hạng không phải số thành số.

Phân công (/)
Toán tử / chia toán hạng đầu tiên cho toán hạng thứ hai. Cố gắng chuyển đổi toán hạng không phải số thành số. Những người đã quen với các ngôn ngữ lập trình phân biệt giữa số nguyên và số thực có thể mong đợi nhận được kết quả là số nguyên khi chia một số nguyên cho một số nguyên khác.

Tuy nhiên, trong JavaScript, tất cả các số đều là số thực, vì vậy tất cả các phép chia đều tạo ra kết quả có dấu phẩy động. Phép toán 5/2 cho kết quả là 2,5 chứ không phải 2. Chia cho 0 sẽ cho kết quả là cộng hoặc số phút vô cùng và 0/0 cho kết quả là NaN.

Chia theo mô đun (%)
Toán tử % tính số dư thu được khi toán hạng thứ nhất là số nguyên chia cho số thứ hai. Nếu toán hạng không phải là số, toán tử sẽ cố gắng chuyển đổi chúng thành số. Dấu của kết quả trùng với dấu của toán hạng đầu tiên. Ví dụ: 5% 2 cho 1.
Toán tử chia modulo thường được sử dụng với toán hạng số nguyên, nhưng nó cũng hoạt động với các giá trị thực. Ví dụ: -4,3% 2,1 cho kết quả là -0,1.

Trừ đơn vị (-)
Khi dấu trừ được sử dụng làm toán tử một ngôi trước một toán hạng đơn, nó sẽ thực hiện thao tác thay đổi dấu một ngôi. Nói cách khác, nó chuyển đổi giá trị dương thành giá trị âm và ngược lại. Nếu toán hạng không phải là số, toán tử này sẽ cố gắng chuyển đổi nó thành số.

Cộng một ngôi (+)
Để đối xứng với toán tử trừ một ngôi, JavaScript cũng có toán tử cộng một ngôi. Bạn có thể sử dụng toán tử này để chỉ định rõ ràng dấu của các chữ số nếu bạn cho rằng điều này sẽ làm cho văn bản chương trình dễ hiểu hơn:
lợi nhuận var = +1000000;

Trong mã như vậy, toán tử dấu cộng không làm gì cả; kết quả công việc của anh ta là ý nghĩa của lập luận của anh ta.

Tuy nhiên, nó chuyển đổi các đối số không phải số thành số. Nếu đối số không thể chuyển đổi, NaN sẽ được trả về.

Tăng (+)
Toán tử này tăng (nghĩa là tăng thêm một) toán hạng đơn của nó, toán hạng này phải là một biến, phần tử mảng hoặc thuộc tính đối tượng. Nếu giá trị của biến, phần tử mảng hoặc thuộc tính này không phải là số, thì trước tiên toán tử sẽ cố gắng chuyển đổi nó thành số. Hành vi chính xác của toán tử này phụ thuộc vào vị trí của nó đối với toán hạng. Nếu bạn đặt nó trước toán hạng (toán tử tăng tiền tố), thì 1 sẽ được thêm vào toán hạng và kết quả là giá trị tăng dần của toán hạng. Nếu nó được đặt sau toán hạng (toán tử tăng hậu tố), thì 1 sẽ được thêm vào toán hạng, nhưng kết quả là giá trị ban đầu của toán hạng. Nếu giá trị được tăng lên không phải là số thì nó sẽ được chuyển thành số trong quá trình tính toán.

Ví dụ: đoạn mã sau đặt các biến i và j thành 2:
tôi = 1;
j = ++i;
Và cái này đặt i thành 2 và j thành 1:
tôi = 1;
j = i++;

Toán tử này, ở cả hai dạng, thường được sử dụng nhiều nhất để tăng bộ đếm điều khiển vòng lặp.

Lưu ý rằng bạn không thể chèn dòng mới giữa toán tử tăng tiền tố hoặc tiền tố hậu tố và toán hạng trước nó, vì dấu chấm phẩy được chèn tự động trong JavaScript. Nếu bạn làm điều này, JavaScript sẽ coi toán hạng là một lệnh đầy đủ và chèn dấu chấm phẩy sau nó.

Giảm (−-)
Toán tử này giảm (nghĩa là giảm 1) toán hạng số đơn của nó, có thể là một biến, một phần tử mảng hoặc một thuộc tính đối tượng. Nếu giá trị của biến, phần tử hoặc thuộc tính này không phải là số, thì trước tiên toán tử sẽ cố gắng chuyển đổi nó thành số. Giống như toán tử ++, hành vi chính xác của toán tử - phụ thuộc vào vị trí của nó so với toán hạng của nó. Khi đặt trước một toán hạng, nó sẽ giảm toán hạng và trả về giá trị đã giảm. Sau toán hạng, nó giảm toán hạng nhưng trả về giá trị ban đầu.

Các toán tử: - (trừ), + (cộng), * (nhân) và / (chia) hoạt động giống hệt như các phép tính số học trong toán học. Toán tử % (chia có số dư) trả về số dư khi chia toán hạng đầu tiên cho toán hạng thứ hai. Kết quả của phép chia có số dư sẽ có cùng dấu với toán hạng đầu tiên:

Cảnh báo(10 + 2); // cảnh báo 12(10 - 2); // 8 cảnh báo(10 * 2); // cảnh báo 20(10/2); // 5 cảnh báo(5 % 2); // 1 cảnh báo(-5 % 2); // -1

Toán tử ** (lũy thừa) có hai toán hạng. Toán hạng đầu tiên là cơ số của lũy thừa, toán hạng thứ hai là số mũ, do đó toán tử trả về cơ số được nâng lên lũy thừa đã chỉ định:

2 ** 4; // 16

Tất cả các toán tử toán học đều chuyển đổi toán hạng của chúng bằng cách sử dụng các quy tắc giống như hàm Number().

Đơn nguyên + (cộng) và - (trừ)

Toán tử + (dấu cộng đơn phân) chuyển đổi giá trị toán hạng của nó thành số và trả về giá trị được chuyển đổi. Khi được sử dụng với toán hạng số, nó không có tác dụng gì:

Var x = +"5";

Toán tử - (trừ một ngôi) chuyển đổi giá trị của toán hạng thành số nếu cần, sau đó làm cho số âm:

Var x = -5 + 3;

Cộng và trừ đơn phân chuyển đổi toán hạng của chúng bằng cách sử dụng các quy tắc tương tự như hàm Number().

Tăng và giảm

Toán tử ++ (tăng) tăng giá trị của toán hạng lên một. Nếu giá trị của toán hạng không phải là số, toán tử sẽ tự động chuyển đổi nó thành số, tăng nó lên một đơn vị và trả về kết quả được gán lại cho toán hạng.

Phần tăng có hai dạng - hậu tố (toán tử được đặt sau toán hạng) và tiền tố (toán tử được đặt trước toán hạng). Nếu nó được sử dụng ở dạng hậu tố, giá trị ban đầu của toán hạng được trả về trước tiên và chỉ khi đó giá trị của toán hạng mới được tăng thêm một.

Các phép toán là một trong những hàm cơ bản và phổ biến nhất của bất kỳ ngôn ngữ lập trình nào. Trong JavaScript, các con số thường được sử dụng trong các tác vụ phổ biến như xác định kích thước của cửa sổ trình duyệt, tính giá cuối cùng của một giao dịch tiền tệ hoặc khoảng cách giữa các thành phần trong tài liệu trang web.

Bạn không cần phải giỏi toán để trở thành một nhà phát triển giỏi, nhưng điều quan trọng là phải biết những loại hoạt động nào có sẵn trong JavaScript và cách sử dụng chúng để thực hiện các tác vụ thực tế.

Không giống như các ngôn ngữ lập trình khác, JavaScript chỉ có một kiểu dữ liệu số; nó không phân biệt giữa số nguyên và số float.

Hướng dẫn này sẽ bao gồm các toán tử số học, toán tử gán và thứ tự các phép tính với dữ liệu số JavaScript.

Toán tử số học

Toán tử số học là các ký hiệu xác định các phép toán và trả về kết quả. Ví dụ, trong 3 + 7 = 10, ký hiệu + xác định cú pháp cho phép cộng.

Nhiều toán tử JavaScript quen thuộc với bạn từ toán học cơ bản, nhưng cũng có một số toán tử bổ sung.

Tất cả các toán tử số học JavaScript được trình bày trong bảng sau.

Nhà điều hành Cú pháp Ví dụ Sự định nghĩa
Phép cộng + x+y Tổng của x và y
Phép trừ x - y Sự khác biệt giữa x và y
Phép nhân * x*y Đạo hàm của x và y
Phân công / x/năm Thương số của x và y
mô-đun % x % y Số dư x/y
lũy thừa ** x**y x lũy thừa của y
Tăng ++ x++ x cộng một
Giảm x— x trừ một
Cộng và trừ

Các toán tử cộng và trừ có sẵn trong JavaScript và có thể được sử dụng để tìm tổng và hiệu của các giá trị số. JavaScript có một máy tính tích hợp và các phép toán có thể được thực hiện trực tiếp trong bảng điều khiển.

Dấu cộng cho phép bạn cộng các số, ví dụ:

Ngoài các phép toán với số nguyên tố, JavaScript cho phép bạn gán số cho các biến và thực hiện các phép tính trên chúng. Ví dụ: bạn có thể gán giá trị số cho biến x và y và đặt kết quả là z.

// Gán giá trị cho x và y
đặt x = 10;
đặt y = 20;
// Cộng x và y rồi gán tổng cho z
đặt z = x + y;
console.log(z);
30

// Gán giá trị cho x và y
đặt x = 10;
đặt y = 20;
// Trừ x cho y và gán hiệu cho z
đặt z = y - x;
console.log(z);
10

// Gán giá trị cho x và y
đặt x = -5,2;
đặt y = 2,5;
// Trừ y cho x và gán hiệu cho z
đặt z = x - y;
console.log(z);
-7.7

Một tính năng thú vị trong JavaScript mà bạn nên xem xét và biết là kết quả của việc thêm một số và một chuỗi. Chúng ta biết rằng 1 + 1 phải bằng 2, nhưng phương trình này sẽ cho một kết quả không ngờ tới.

đặt x = 1 + "1";
console.log(x);
loại x;
11
"sợi dây"

Thay vì thêm số, JavaScript chuyển đổi toàn bộ biểu thức thành chuỗi và nối chúng lại. Điều quan trọng là phải cẩn thận với kiểu gõ động trong JavaScript vì nó có thể gây ra những kết quả không mong muốn.

Phép cộng và phép trừ trong JavaScript thường được sử dụng để cuộn thanh điều hướng.

hàm cuộnToId() (
const navHeight = 60;
window.scrollTo(0, window.pageYOffset - navHeight);
}
window.addEventListener("hashchange", ScrollToId);

Trong trường hợp này, bảng điều khiển sẽ cuộn 60 pixel từ id.

Nhân và chia

Toán tử nhân và chia trong JavaScript được sử dụng để tìm đạo hàm và thương của các giá trị số.

Dấu hoa thị là toán tử nhân.

// Gán giá trị cho x và y
đặt x = 20;
đặt y = 5;
// Nhân x với y để được kết quả
đặt z = x * y;
console.log(z);
100

Phép nhân có thể được sử dụng để tính giá của một mặt hàng sau khi áp dụng thuế bán hàng.

giá cố định = 26,5; // Giá sản phẩm trước thuế
const taxRate = 0,082; // Thuế suất 8,2%
// Tính tổng sau thuế đến hai chữ số thập phân
gọi tổngGiá = giá + (giá * thuế suất);
TotalPrice.toFixed(2);
console.log("Tổng:", TotalPrice);
Tổng cộng: 28,67

Dấu gạch chéo là toán tử chia.

// Gán giá trị cho x và y
đặt x = 20;
đặt y = 5;
// Chia y cho x để lấy báo giá
đặt z = x/y;
console.log(z);
4

Phép chia đặc biệt hữu ích khi tính toán thời gian, chẳng hạn như tính số giờ hoặc phần trăm đúng trong một bài kiểm tra.

Giá trị tuyệt đối của một số

Mô đun là một toán tử số học khác, ít phổ biến hơn các toán tử trước. Được biểu thị bằng ký hiệu %. Nó trả về số dư khi chia số thứ nhất cho số thứ hai.

Ví dụ: chúng ta biết rằng 9 chia hết cho 3 mà không có số dư:

Mô-đun số cho phép bạn xác định xem một số là số chẵn hay số lẻ, ví dụ:

// Khởi tạo hàm để kiểm tra xem một số có phải là số chẵn không
const isEven = x => (
// Nếu số dư sau khi chia cho 2 là 0 thì trả về true
nếu (x % 2 === 0) (
trả về đúng sự thật;
}
// Nếu số lẻ, trả về false
trả về sai;
}
// Kiểm tra số
isEven(12);
ĐÚNG VẬY

Trong ví dụ này, 12 chia hết cho 2, do đó nó là số chẵn.

Trong lập trình, mô đun số thường được sử dụng kết hợp với các câu lệnh điều kiện.

lũy thừa

Lũy thừa là một trong những toán tử mới nhất trong JavaScript. Cú pháp lũy thừa là hai dấu hoa thị liên tiếp (**).

Ví dụ: 10 lũy thừa thứ năm (10^5) được viết như sau:

10 ** 5;
100000

Phép toán 10**5 có kết quả tương tự như 10*10 được lặp lại 5 lần.

10 * 10 * 10 * 10 * 10;

Hoạt động này cũng có thể được viết bằng phương thức Math.pow().

Math.pow(10, 5);
100000

Sử dụng toán tử lũy thừa là một cách nhanh chóng để xác định lũy thừa của một số nhất định, nhưng như mọi khi, khi chọn giữa một phương thức và toán tử, điều quan trọng là phải nhất quán và viết mã theo cùng một kiểu.

Tăng và giảm

Các toán tử tăng và giảm tăng hoặc giảm giá trị số của một biến. Chúng được biểu thị bằng hai dấu cộng (++) hoặc hai dấu trừ (-) và thường được sử dụng trong các vòng lặp.

Xin lưu ý rằng toán tử tăng và giảm chỉ có thể được sử dụng với các biến. Cố gắng sử dụng chúng với số nguyên tố sẽ dẫn đến lỗi.

7++
Uncaught ReferenceError: Biểu thức bên trái không hợp lệ trong thao tác postfix

Các toán tử tăng và giảm có thể được phân loại thành các toán tử tiền tố và hậu tố, tùy thuộc vào vị trí đặt toán tử so với biến.

Gia tăng tiền tố được viết là ++x.

//Đặt một biến
đặt x = 7;

hãy để tiền tố = ++x;
console.log(tiền tố);
8

Giá trị của x đã tăng thêm 1. Gia số hậu tố được viết là y++.

//Đặt một biến
đặt y = 7;
// Sử dụng thao tác tăng tiền tố
đặt postfix = y++;
console.log(hậu tố);
7

Hoạt động postfix không tăng giá trị. Giá trị này sẽ không được tăng lên cho đến khi biểu thức được đánh giá. Để thực hiện việc này, bạn cần chạy thao tác hai lần:

đặt y = 7;
y++;
y++;
console.log(y);
8

Thông thường các toán tử này được tìm thấy trong các vòng lặp. Trong vòng lặp for này, câu lệnh for được thực thi 10 lần, bắt đầu từ 0.

// Chạy một vòng lặp 10 lần
với (đặt i = 0; i< 10; i++) {
console.log(i);
}
0
1
2
3
4
5
6
7
8
9

Trong ví dụ này, vòng lặp được lặp bằng toán tử tăng.

Nói một cách đơn giản, x++ có thể được coi là viết tắt của x = x + 1 và x có thể được coi là viết tắt của x = x – 1.

Toán tử gán

Một trong những toán tử được sử dụng phổ biến nhất là toán tử gán, chúng ta đã thấy trong hướng dẫn này. Nó được biểu thị bằng dấu bằng (=). Ký hiệu = được sử dụng để gán giá trị ở bên phải cho biến ở bên trái.

// Gán 27 cho biến tuổi
gọi tuổi = 27;

Ngoài toán tử gán tiêu chuẩn, JavaScript còn có toán tử gán phức hợp, kết hợp toán tử số học với toán tử =.

Ví dụ: toán tử cộng sẽ bắt đầu từ giá trị ban đầu và thêm giá trị mới vào giá trị đó.

// Gán 27 cho biến tuổi
gọi tuổi = 27;
tuổi += 3;
console.log(tuổi);
30

Về cơ bản, tuổi += 3 cũng giống như tuổi = tuổi + 3.

Tất cả các toán tử số học có thể được kết hợp với toán tử gán. Dưới đây là bảng tham khảo các toán tử gán trong JavaScript.

Các toán tử gán ghép thường được sử dụng trong các vòng lặp, như tăng và giảm.

Ưu tiên điều hành

Các toán tử được thực hiện theo thứ tự ưu tiên, giống như trong toán học thông thường.

Ví dụ, phép nhân có mức độ ưu tiên cao hơn phép cộng.

// Đầu tiên nhân 3 với 5 rồi cộng 10
10 + 3 * 5;
25

Nếu bạn cần thực hiện thao tác bổ sung trước, hãy đặt nó trong ngoặc đơn - những thao tác như vậy luôn có mức độ ưu tiên cao nhất.

// Đầu tiên cộng 10 và 3, sau đó nhân với 5
(10 + 3) * 5;
65

Dưới đây bạn sẽ tìm thấy bảng ưu tiên của các toán tử số học trong JavaScript. Để tăng và giảm, hậu tố có mức độ ưu tiên cao hơn tiền tố.

Tăng/giảm, nhân/chia và cộng/trừ có cùng mức độ ưu tiên.

Không chỉ các toán tử số học được ưu tiên mà còn có các toán tử gán, toán tử logic, toán tử điều kiện, v.v. Bạn có thể xem danh sách đầy đủ.

thẻ:

Cập nhật lần cuối: 1/11/2015

Các hoạt động toán học

JavaScript hỗ trợ tất cả các phép toán cơ bản:

Phép cộng:

Var x = 10; var y = x + 50;

Phép trừ:

Var x = 100; var y = x - 50;

Phép nhân :

Var x = 4; var y = 5; var z = x * y;

Phân công:

Var x = 40; var y = 5; var z = x/y;

Toán tử chia Modulo (toán tử %) trả về phần còn lại của phép chia:

Var x = 40; var y = 7; var z = x %y; console.log(z); // 5

Kết quả sẽ là 5, vì số nguyên lớn nhất nhỏ hơn hoặc bằng 40 và chia hết cho 7 là 35 và 40 - 35 = 5.

Tăng:

Var x = 5; x++; // x = 6

Toán tử tăng ++ tăng một biến. Có một số tiền tố tăng trước tiên một biến và sau đó trả về giá trị của nó. Và có một phần tăng hậu tố, đầu tiên trả về giá trị của biến và sau đó tăng nó lên một:

// tăng tiền tố var x = 5; var z = ++x; console.log(x); // 6 console.log(z); // 6 // tăng hậu tố var a = 5; var b = a++; console.log(a); // 6 console.log(b); // 5

Gia tăng hậu tố tương tự như thao tác:

A = a + 1; // một++

Việc giảm làm giảm giá trị của một biến đi một. Ngoài ra còn có phần giảm tiền tố và hậu tố:

// giảm tiền tố var x = 5; var z = --x; console.log(x); // 4 console.log(z); // 4 // giảm hậu tố var a = 5; var b = a--; console.log(a); // 4 console.log(b); // 5

Theo thông lệ trong toán học, tất cả các phép toán được thực hiện từ trái sang phải và có mức độ ưu tiên khác nhau: đầu tiên, các phép toán tăng và giảm được thực hiện, sau đó thực hiện phép nhân và chia, sau đó là phép cộng và phép trừ. Để thay đổi luồng hoạt động tiêu chuẩn, một phần của biểu thức có thể được đặt trong ngoặc:

Var x = 10; var y = 5 + (6 - 2) * --x; console.log(y); //41

Toán tử gán

    Đánh đồng một giá trị cụ thể với một biến: var x = 5;

    Phép cộng theo sau là phép gán kết quả. Ví dụ:

    Var a = 23; a += 5; // tương tự a = a + 5 console.log(a); // 28

    Phép trừ sau đó là phép gán kết quả. Ví dụ:

    Var a = 28; a -= 10; // tương tự a = a - 10 console.log(a); // 18

    Phép nhân và phép gán kết quả:

    Var x = 20; x *= 2; // tương tự x = x * 2 console.log(x); // 40

    Phép chia theo sau là phép gán kết quả:

    Var x = 40; x /= 4; // tương tự x = x / 4 console.log(x); // 10

    Lấy phần dư của phép chia rồi gán kết quả:

    Var x = 10; x %= 3; // tương tự x = x % 3 console.log(x); // 1, vì 10 - 3*3 = 1

Toán tử so sánh

Thông thường, các toán tử so sánh được sử dụng để kiểm tra các điều kiện. Toán tử so sánh so sánh hai giá trị và trả về true hoặc false:

    Toán tử đẳng thức so sánh hai giá trị và nếu chúng bằng nhau, trả về true, nếu không trả về false: x == 5

    Toán tử nhận dạng cũng so sánh hai giá trị và kiểu của chúng, nếu chúng bằng nhau thì trả về true, nếu không thì trả về false: x === 5

    So sánh hai giá trị và nếu chúng không bằng nhau, trả về true, nếu không trả về false: x != 5

    So sánh hai giá trị và loại của chúng, nếu chúng không bằng nhau, trả về true, nếu không trả về false: x !== 5

    So sánh hai giá trị và nếu giá trị đầu tiên lớn hơn giá trị thứ hai thì trả về true, nếu không thì trả về false: x > 5

    So sánh hai giá trị và nếu giá trị đầu tiên nhỏ hơn giá trị thứ hai thì trả về true, nếu không thì trả về false: x< 5

    So sánh hai giá trị và nếu giá trị đầu tiên lớn hơn hoặc bằng giá trị thứ hai thì trả về true, nếu không thì trả về false: x >= 5

    So sánh hai giá trị và nếu giá trị đầu tiên nhỏ hơn hoặc bằng giá trị thứ hai thì trả về true, nếu không thì trả về false: x 50 && phần trăm< 12; console.log(result); //true

    Trả về true nếu ít nhất một phép so sánh trả về true, nếu không thì trả về false:

    Thu nhập Var = 100; var isDeposit = true; var result = thu nhập > 50 || isDeposit == đúng; console.log(kết quả); //ĐÚNG VẬY

    Trả về true nếu thao tác so sánh trả về false:

    Thu nhập Var = 100; var result1 = !(thu nhập > 50); console.log(result1); // sai, vì thu nhập > 50 trả về true var isDeposit = false; var result2 = !isDeposit; console.log(result2); // ĐÚNG VẬY

Hoạt động chuỗi

Các chuỗi có thể sử dụng toán tử + để nối. Ví dụ:

Tên Var = "Khối lượng"; var họ = "Sawyer" var fullname = tên + " " + họ; console.log(tên đầy đủ); //Tom Sawyer

Nếu một trong các biểu thức đại diện cho một chuỗi và biểu thức còn lại đại diện cho một số thì số đó sẽ được chuyển đổi thành một chuỗi và thao tác nối chuỗi được thực hiện:

Tên Var = "Khối lượng"; var fullname = tên + 256; console.log(tên đầy đủ); //Tập256

Cuối cùng, chúng ta sẽ viết một chương trình nhỏ minh họa cách làm việc với các phép toán trên biến. Để thực hiện việc này, chúng tôi xác định chỉ mục trang web sau.html:

Tổng JavaScript var = 500; // số tiền gửi var phần trăm = 10; // lãi tiền gửi var thu nhập = tổng * phần trăm / 100; // thu nhập từ số tiền gửi = tổng + thu nhập; // xác định số tiền mới console.log("Thu nhập tiền gửi: " + thu nhập); console.log("Số tiền gửi sau năm đầu tiên: " + sum);

Kịch bản khai báo ba biến: tổng, phần trăm và thu nhập. Biến thu nhập được tính từ hai biến còn lại bằng cách sử dụng các phép tính nhân và chia. Và cuối cùng, giá trị của nó được tính tổng bằng giá trị của biến tổng.


Toán tử số học và kiểu đúc

JavaScript hỗ trợ các toán tử số học sau:

Một tính năng thú vị của JavaScript là khả năng thực hiện các phép tính số học trên các biến thuộc nhiều loại khác nhau. Trong trường hợp này, trình thông dịch sẽ tự thực hiện việc truyền kiểu và thực hiện thao tác được chỉ định. Các quy tắc sau đây được sử dụng trong quá trình bảo trì kiểu:

1. Nếu một trong các toán hạng là một chuỗi thì tất cả các toán hạng khác sẽ được chuyển đổi thành dạng chuỗi.

Var1 = "Bác" var2 = "Vanya" result = var1 + " " + var2 // result = "Bác Vanya" hỗn hợp = var2 + 100 // hỗn hợp = "Vanya100"

2. Tất cả các toán hạng logic đều được chuyển đổi sang dạng số, ngoại trừ khi tất cả các toán hạng trong biểu thức đều là toán hạng logic. Trong trường hợp này, true được giảm xuống "1" và false - thành "0". Khi kết hợp toán hạng logic với chuỗi, tất cả toán hạng đều được chuyển thành dạng văn bản.

Var1 = true var2 = true result = var1 + var2 // result = 2 hỗn hợp = var2 + 100 // hỗn hợp = 101 var3 = "string:" str = var3 + var1 // str = "string:true"

3. Nếu việc truyền kiểu không thành công, kết quả của biểu thức sẽ là “NaN” (ví dụ: khi cố gắng tách một chuỗi thành một chuỗi nào đó).

Var1 = "Bác" var2 = "Vanya" result = var1 / var2 // result = "NaN" hỗn hợp = var2 * true // hỗn hợp = "NaN"

Tuy nhiên, ở giai đoạn đầu, tốt hơn hết bạn nên hạn chế thực hiện các kiểu và thủ thuật có kết quả chuyển đổi. Điều này sẽ giúp bạn tránh khỏi một số lỗi đáng kể.

Đối tượng toán học

Đối tượng Math chứa các hằng số toán học cơ bản và các hàm toán học tiêu chuẩn. Những cái được sử dụng phổ biến nhất được hiển thị trong bảng:

Của cải
LN10 Giá trị logarit tự nhiên của số 10
LN2 Giá trị logarit tự nhiên của số 2
SỐ PI. giá trị Pi
phương pháp
cơ bụng(số) Trả về giá trị tuyệt đối của một số (tức là số không tính đến dấu của nó)
trần nhà(số) Làm tròn một số lên số nguyên cao hơn gần nhất (làm tròn lên)
exp(số) Trả về số "e" lũy thừa của "số"
lầu số) Làm tròn một số đến số nguyên thấp hơn gần nhất (làm tròn xuống)
tối đa(số1, số2) Trả về số lớn hơn của hai số
phút(số1, số2) Trả về số nhỏ hơn của hai số
pow(số 1, số 2) Trả về "number1" được lũy thừa "number2"
ngẫu nhiên() Trả về một số ngẫu nhiên trong khoảng từ 0 đến 1
vòng (số) Làm tròn số theo quy tắc làm tròn tiêu chuẩn
sqrt(số) Trả về căn bậc hai của một số.

Trong tất cả các hàm được liệt kê, chỉ giải thích thêm ceil(), Floor() và round() là hợp lý. Hãy xem xét sự khác biệt của họ bằng một ví dụ:

Num = 1.222 // số nguyên gần nhất "xuống" là 1 // số nguyên gần nhất "lên" là 2 // làm tròn số học thành 1 cảnh báo (Math.ceil(num)) cảnh báo (Math.floor(num)) cảnh báo (Math.round (num)) // ta nhận được 3 thông báo: 2, 1, 1 num = 1.777 // số nguyên gần nhất "down" là 1 // số nguyên gần nhất "up" là 2 // làm tròn số học thành 2 notification(Math.ceil (num) ) notification(Math.floor(num)) notification(Math.round(num)) // nhận được ba tin nhắn: 2, 1, 2

Tập hợp các hàm toán học của JavaScript cho phép bạn giải quyết khá nhiều vấn đề, nhưng bạn không nên lạm dụng nó. Đừng quên rằng mã được thực thi bởi một trình thông dịch, nhưng không có vấn đề tối ưu hóa tính toán ở mức độ thấp, do đó sẽ rất khó đạt được hiệu suất cao.