Các chức năng lồng nhau có thể là cơ sở để viết một nhóm mô-đun gồm các chức năng liên quan, loại nửa để lập trình hướng đối tượng đầy đủ [chỉ các lớp tĩnh].
Dưới đây là một ví dụ về một nhóm các chức năng như vậy, trong trường hợp này để chuyển đổi giá trị thành chuỗi JSON hoặc chuỗi JSON thành một giá trị.
Lưu ý cách các hàm bên trong được nhóm thành một đối tượng bên trong hàm bên ngoài và cách thức đối tượng được lưu trữ vào một tên nhóm. Đây là tên duy nhất có thể nhìn thấy trực tiếp từ bên ngoài nhóm. Để đạt được bất kỳ chức năng chứa nào từ bên ngoài, bạn chỉ cần viết tên nhóm, một khoảng thời gian, sau đó là tên hàm. Để đạt được một hàm chứa từ bên trong, bạn có thể sử dụng cùng một ký hiệu hoặc 'cái này', một khoảng thời gian, sau đó là tên hàm.
//--------------------------------------------------------------------//
// Module J:
// Convert from and to JSON strings
//--------------------------------------------------------------------//
const J=NewJ[];
function NewJ[]
{
const mod=
{
From:[str]=>
{
return JSON.parse[str];
}, // From
To:[val]=>
{
return JSON.stringify[val,null,3];
} // To
}; // mod
return mod;
} // NewJ
//--------------------------------------------------------------------//
// End Module J
//--------------------------------------------------------------------//
Đây là một bài kiểm tra:
console.log[J.To[{A:'a'}]];
Đầu ra bảng điều khiển:
{
"A": "a"
}
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Xem thảo luận
Cải thiện bài viết
Lưu bài viết
Đọc
Approach:
- Bàn luận
- Ở đây, nhiệm vụ là tạo các chức năng lồng nhau, JavaScript hỗ trợ các chức năng lồng nhau. Trong các ví dụ được đưa ra bên dưới, trở lại đầu ra là sự kết hợp của đầu ra từ chức năng bên ngoài cũng như hàm bên trong [chức năng lồng nhau] .Approach:
- Viết một chức năng bên trong một hàm khác.fun[a][b] where a is parameter to outer and b is to the inner function.
- Thực hiện cuộc gọi đến hàm bên trong trong câu lệnh trả về của hàm bên ngoài.
Gọi nó là niềm vui [a] [b] trong đó A là tham số ở bên ngoài và B là hàm bên trong. This example using the approach discussed above.
console.log[J.To[{A:'a'}]];
1
console.log[J.To[{A:'a'}]];
5console.log[J.To[{A:'a'}]];
6console.log[J.To[{A:'a'}]];
1console.log[J.To[{A:'a'}]];
8console.log[J.To[{A:'a'}]];
3{
"A": "a"
}
0
console.log[J.To[{A:'a'}]];
8head
>
Cuối cùng trả về đầu ra kết hợp từ chức năng lồng nhau.
Ví dụ 1: Ví dụ này sử dụng phương pháp được thảo luận ở trên.
console.log[J.To[{A:'a'}]];
5
console.log[J.To[{A:'a'}]];
1console.log[J.To[{A:'a'}]];
8html
0{
"A": "a"
}
0console.log[J.To[{A:'a'}]];
1
5{
"A": "a"
}
0console.log[J.To[{A:'a'}]];
1