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
first
hàm tôi khai báo vớilet
các biếnb
vàc
với giá trị 10 :b = c = 10;
Trong
second
chức năng tôi hiển thị:b + ", " + c
Và điều này cho thấy:
10, 10
Cũng trong
first
hàm tôi khai báoa
với giá trị 10 :let a = b = c = 10;
Nhưng trong
second
chức năng nó hiển thị một lỗi:Không thể tìm thấy biến:
a
Bây giờ trong
first
hàm tôi khai báod
với giá trị 20 :var d = 20;
Nhưng trong
second
hà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 Fruit
có nghĩa là Dim Apple / Dim Banana / Dim Pear As Fruit
, và không Dim Apple As Fruit / ...
.
b
vàc
không có tiền tố vớivar
từ khóa.a
vàd
là địa phương đểfirst
.