Bất kỳ mức độ lồng nhau nào trong JavaScript
Cũng có thể có những lệnh gọi hàm như thế này: func()()()
và func()()()() - và cứ thế đến vô tận.
Để làm điều này, cần phải có hàm bên trong cũng trả về một hàm, hàm đó - một hàm khác và cứ thế. Đây là một ví dụ:
function func() {
return function() {
return function() {
return '!';
};
};
}
console.log( func()()() ); // sẽ hiển thị '!'
Tạo hàm func, mà khi
được gọi như thế này: func()()()()(), sẽ trả về
'!'.