⊗jsPmFVNC 220 of 505 menu

Tên biến giống nhau trong hàm trong JavaScript

Giả sử bên ngoài hàm và bên trong hàm đều có biến num. Trong trường hợp này, mọi thay đổi đối với biến cục bộ num sẽ không ảnh hưởng đến biến toàn cục num:

let num = 1; // biến toàn cục function func() { let num = 2; // biến cục bộ console.log(num); } func(); // gọi hàm, sẽ xuất ra 2 console.log(num); // sẽ xuất ra 1 - biến toàn cục không thay đổi

Nhưng, nếu chúng ta quên khai báo biến cục bộ num bằng let, thì bên trong hàm sẽ không tạo ra biến cục bộ num, mà chỉ đơn giản là thay đổi biến toàn cục:

let num = 1; function func() { num = 2; // quên viết let - đang thay đổi biến bên ngoài console.log(num); } func(); // gọi hàm, sẽ xuất ra 2 console.log(num); // sẽ xuất ra 2 - biến đã thay đổi

Ở đây có thể có hai tình huống: hoặc chúng ta thực sự muốn thay đổi biến toàn cục (khi đó mọi thứ đều ổn), hoặc chúng ta đã quên let và vô tình thay đổi biến toàn cục.

Tình huống thứ hai là một lỗi khó phát hiện, dẫn đến hành vi không thể đoán trước của script. Vì vậy, luôn luôn khi khai báo một biến mới, hãy khai báo nó bằng let.

Xác định, không chạy code, điều gì sẽ được xuất ra trong console:

let num = 1; function func() { num = 2; } func(); console.log(num);

Xác định, không chạy code, điều gì sẽ được xuất ra trong console:

let num = 1; function func() { let num = 2; } func(); console.log(num);
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