⊗jsPmBsPPT 60 of 505 menu

Tiền tố và Hậu tố trong JavaScript

Thực ra, phép toán tăng và giảm có thể được viết theo hai cách. Hãy xem xét các cách này với ví dụ ++, còn đối với -- mọi thứ sẽ tương tự.

Ở cách thứ nhất, phép toán được viết sau tên biến, như thế này: a++, còn ở cách thứ hai - trước tên biến, như thế này: ++a.

Dạng thứ nhất được gọi là hậu tố, còn dạng thứ hai - tiền tố. Hãy xem, trong những trường hợp nào sự khác biệt giữa hai dạng này thể hiện rõ.

Giả sử chúng ta có mã alert(a++) và mã alert(++a).

Trong trường hợp alert(a++), biến đầu tiên sẽ được in ra, sau đó mới tăng lên một đơn vị, còn trong trường hợp alert(++a), biến đầu tiên sẽ tăng lên một đơn vị, sau đó mới được in ra.

Trong ví dụ tiếp theo, lệnh alert đầu tiên sẽ in ra 0, vì đầu tiên việc in ra màn hình sẽ thực hiện, và chỉ sau đó biến mới tăng lên:

let num = 0; alert(num++); // sẽ in ra 0 alert(num); // sẽ in ra 1

Và bây giờ biến đầu tiên sẽ tăng lên, và chỉ sau đó mới in ra màn hình:

let num = 0; alert(++num); // sẽ in ra 1 - biến đã tăng ngay lập tức

Hành vi này không chỉ đúng với việc in ra màn hình, mà còn đúng với phép gán:

let num1 = 0; let num2 = num1++; // giá trị 0 sẽ được ghi vào biến num2 alert(num2); // sẽ in ra 0 alert(num1); // sẽ in ra 1 - biến num1 đã thay đổi sau khi ghi vào num2

Và bây giờ hãy đổi từ dạng hậu tố sang dạng tiền tố:

let num1 = 0; let num2 = ++num1; // giá trị 1 sẽ được ghi vào biến num2 alert(num2); // sẽ in ra 1

Nếu phép toán của chúng ta được thực hiện trên một dòng riêng biệt, thì không có sự khác biệt giữa dạng tiền tố và hậu tố:

let num = 0; ++num; num++; alert(num); // sẽ in ra 2

Không chạy mã, hãy xác định điều gì sẽ được in ra màn hình:

let num = 3; alert(++num);

Không chạy mã, hãy xác định điều gì sẽ được in ra màn hình:

let num = 3; alert(num++);

Không chạy mã, hãy xác định điều gì sẽ được in ra màn hình:

let num = 3; alert(--num);

Không chạy mã, hãy xác định điều gì sẽ được in ra màn hình:

let num = 3; alert(num--);

Không chạy mã, hãy xác định điều gì sẽ được in ra màn hình:

let num1 = 3; let num2 = ++num1; alert(num1); alert(num2);

Không chạy mã, hãy xác định điều gì sẽ được in ra màn hình:

let num1 = 3; let num2 = num1++; alert(num1); alert(num2);

Không chạy mã, hãy xác định điều gì sẽ được in ra màn hình:

let num1 = 3; let num2 = --num1; alert(num1); alert(num2);

Không chạy mã, hãy xác định điều gì sẽ được in ra màn hình:

let num1 = 3; let num2 = num1--; alert(num1); alert(num2);

Không chạy mã, hãy xác định điều gì sẽ được in ra màn hình:

let num1 = 3; num1++; let num2 = num1--; alert(num1++); alert(--num2);
Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối