Tôi mới dùng JS và có nghi ngờ với ví dụ bên dưới. Vui lòng xem các bình luận nội tuyến.Cách truy cập biến chức năng bên ngoài trong hàm bên trong lồng nhau trong JS
function outer() {
\t var x = 5;
\t console.log("outer",x); // Prints 5
\t console.log("-----------");
\t function inner() {
\t \t var x = 6;
\t \t console.log("inner",x); // Prints 6
\t \t console.log("outer",x); // Prints 6. How to print 5
\t \t console.log("-----------");
\t \t function _inner() {
\t \t \t var x = 7;
\t \t \t console.log("_inner",x); // Prints 7
\t \t \t console.log("inner",x); // Prints 7. How to print 6
\t \t \t console.log("outer",x); // Prints 7. How to print 5
\t \t \t console.log("-----------");
\t \t }
\t \t _inner();
\t }
\t inner();
}
outer();
vượt qua như tham số cho các chức năng bên trong với một cái tên khác Tôi cho rằng? –
Nếu biến cục bộ được khai báo với tên giống với biến toàn cục hơn, thì (ngoại trừ trường hợp phạm vi toàn cục thực) không có cách nào để truy cập biến ngoài. – Pointy
Có chủ ý là cả ba biến đều có cùng tên giống nhau không? Chỉ cần thay đổi tên của biến "inner" thành 'y' và biến" _inner "thành' z', bạn sẽ nhận được kết quả mong đợi. – Lix