Tôi không thể hiểu tại sao các biến hành động rất lạ khi được khai báo bên trong một hàm.
Trong
firsthàm tôi khai báo vớiletcác biếnbvàcvới giá trị 10 :b = c = 10;Trong
secondchức năng tôi hiển thị:b + ", " + cVà điều này cho thấy:
10, 10Cũng trong
firsthàm tôi khai báoavới giá trị 10 :let a = b = c = 10;Nhưng trong
secondchức năng nó hiển thị một lỗi:Không thể tìm thấy biến:
aBây giờ trong
firsthàm tôi khai báodvới giá trị 20 :var d = 20;Nhưng trong
secondhàm nó hiển thị lỗi tương tự như trước, nhưng với biếnd:Không thể tìm thấy biến:
d
Thí dụ:
function first() {
let a = b = c = 10;
var d = 20;
second();
}
function second() {
console.log(b + ", " + c); //shows "10, 10"
try{ console.log(a); } // Rreference error
catch(e){ console.error(e.message) }
try{ console.log(d); } // Reference error
catch(e){ console.error(e.message) }
}
first()
Dim Apple, Banana, Pear As Fruitcó nghĩa là Dim Apple / Dim Banana / Dim Pear As Fruit, và không Dim Apple As Fruit / ....
bvàckhông có tiền tố vớivartừ khóa.avàdlà địa phương đểfirst.