const doTest = () => {
var varGlobal = "9999";
return varGlobal;
};
varGlobal = "99999";
const varStr = varGlobal.toString();
console.log(varGlobal);
Ai giải thích em đoạn code này với ạ. Kết quả là 99999 ạ
const doTest = () => {
var varGlobal = "9999";
return varGlobal;
};
varGlobal = "99999";
const varStr = varGlobal.toString();
console.log(varGlobal);
Ai giải thích em đoạn code này với ạ. Kết quả là 99999 ạ
Kết quả 99999 là ổn rồi đấy, vì đoạn function doTest() không có ý nghĩa gì nhé, khi bạn khai báo var varGlobal = “9999” bên trong nó thì nó chỉ là biến cục bộ, không ảnh hường gì hòa bình thế giới.
Có thể được viết lại:
Khi xuất ra màn hình thì một số 99999 so với một chuỗi “99999” không khác gì nhau cho dù người có mắt tốt 20/10 hoặc 6/10 đều không thấy có gì khác nhau.
Cần đọc lý thuyết kỹ hơn, cụ thể ở đây là: variable scope, hoisting làm trên bảng viết nhiều hơn để hiểu bản chất của vấn đề.
Dạ em cảm ơn. Vậy là cái dòng varGlobal = “99999”; nó tạo một biến varGlobal không cần từ khoá khai báo var, let, const ạ
Ừh, đọc lý thuyết JS có đoạn: The variables declared without the var keyword becomes global variables
Vâng em hiểu rồi ạ. Tài liệu JS nào vậy ạ. Em có thể xin link được không? Em cảm ơn.
Có nhiều trang để xem, bạn có thể tra cứu các link trên Wikipedia khi đọc về lịch sử JavaScript để có nguồn tốt. Còn cần ngay 1 link ổn, đọc cái này https://developer.mozilla.org/en-US/docs/Web/JavaScript
Dạ cho em hỏi đoạn code trên nó có hiện tượng hosting
chỗ nào vậy ạ?
Đọc về hoisting thôi chứ đoạn code trên không phải :3
Hoisting, không phải hosting nhé bạn.