Tôi có nên sử dụng các hàm javascript lồng nhau không?

Các hàm bên trong một hàm khác được gọi là "Hàm lồng nhau". Một chức năng có thể có một hoặc nhiều chức năng bên trong. Các hàm lồng nhau này (các hàm bên trong) thuộc phạm vi của các hàm bên ngoài. Hàm lồng nhau Javascript trong này, hàm bên ngoài có thể được gọi là Hàm cha và hàm bên trong có thể được gọi là Hàm con. Hàm con có thể truy cập các biến và tham số của hàm Cha

Gói phát triển phần mềm tất cả trong một(hơn 600 khóa học, hơn 50 dự án)

Tôi có nên sử dụng các hàm javascript lồng nhau không?
Tôi có nên sử dụng các hàm javascript lồng nhau không?
Tôi có nên sử dụng các hàm javascript lồng nhau không?
Tôi có nên sử dụng các hàm javascript lồng nhau không?

Tôi có nên sử dụng các hàm javascript lồng nhau không?
Tôi có nên sử dụng các hàm javascript lồng nhau không?
Tôi có nên sử dụng các hàm javascript lồng nhau không?
Tôi có nên sử dụng các hàm javascript lồng nhau không?

Giá
Xem khóa học

600+ Khóa học trực tuyến. hơn 50 dự án. Hơn 3000 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập Trọn đời
4. 6 (84.831 xếp hạng)

Tuy nhiên, hàm cha không thể truy cập các biến của hàm con bên trong

Bắt đầu khóa học phát triển phần mềm miễn phí của bạn

Phát triển web, ngôn ngữ lập trình, kiểm thử phần mềm và những thứ khác

Các hàm lồng nhau hoạt động như thế nào trong JavaScript?

JavaScript được giải thích, có nghĩa là thực thi từng dòng mã. JavaScript nội bộ có ngăn xếp thực thi. Tất cả các tác vụ được đưa vào ngăn xếp để thực thi. LIFO LIFO dựa trên công việc của JavaScript là viết tắt của Last In First Out. Giống như một ngăn xếp. Như chúng ta đã thảo luận, hàm Nested có hàm cha và hàm con

cú pháp

function parentFun()//function definition
{
function childFun1()//function definition
{
function childFun2()//function definition
{
//code
}
childFun2(); //function calling
}
childFun1();//function calling
}
parentFun();//function calling

Giải trình

Định nghĩa hàm ngoài parentFun() với 2 hàm bên trong định nghĩa childFun1() và childFun1(). Khi chúng ta xác định các hàm bên trong, ngay bên dưới nó, chúng ta đã gọi hàm vì các hàm bên trong childFun1() và childFun1() phải thực thi mã hoặc logic của chúng

Cuối cùng, chúng ta đã gọi parentFun() để thực hiện tất cả các chức năng bên trong nó

Mục đích của các hàm lồng nhau

Bất cứ khi nào chúng tôi không muốn truy cập tất cả các chức năng bên ngoài chức năng bên ngoài thì chúng tôi sẽ sử dụng các chức năng Lồng nhau

Ví dụ về Hàm lồng nhau Javascript

Ví dụ về các chức năng lồng nhau javascript được đưa ra dưới đây

1. Hàm bên ngoài () với hàm bên trong duy nhất ()

cú pháp

function parent(){
//code
function child()
{
//code
}
Child();
}
Parent();

Mã số




Outer function() with single inner function()

đầu ra

Tôi có nên sử dụng các hàm javascript lồng nhau không?

Giải trình

tam giácHypotenuse() là chức năng bên ngoài và hình vuông() là chức năng bên trong. sqrt(square(base)+square(height)) trả về căn bậc hai của đáy và chiều cao, cho chúng ta giá trị bên thứ 3

2. Chức năng gọi bên trong Chức năng bên ngoài

Nếu chúng ta gọi bất kỳ chức năng nào khác bên trong chức năng rõ ràng được gọi là chức năng lồng nhau

cú pháp

function getName() //outer function
{
getAge();//inner function
}
function getAge()
{
//code
}
getName(); //function calling

Giải trình

getName() được gọi là hàm lồng nhau vì t có thêm một hàm getAge() bên trong hàm. Khi chúng ta gọi getName(), nó sẽ gọi tới getAge(). Vì vậy, nó sẽ thực thi getAge() trước. Chúng ta có thể kết luận bằng JavaScript này lưu trữ dữ liệu trong Ngăn xếp (LIFO)

Mã số




Outer function() with single inner function()

function getAge(name,age) { document.write(name+" age is :"+age+" years"+"
"); } function getName(name,age) { document.write("I am :"+name+"
");//document.write() prints output in a browser getAge(name,age); } getName("Amardeep",26); getName("Paramesh",24); getName("Jyothi",25);

đầu ra

Tôi có nên sử dụng các hàm javascript lồng nhau không?

Giải trình

getName(name,age) chức năng bên ngoài sẽ in tôi là Paramesh. Hàm này lại gọi hàm bên trong getAge(name,age). Nó sẽ in Paramesh age là 24 năm. Tương tự như vậy, phần còn lại của kết quả gọi hàm sẽ hiển thị

3. Hàm bên trong ẩn danh () với hàm bên ngoài ()

cú pháp

function add(a,b)//outer function
{
return function() //inner function
{
//code
}
}
add(3,9);

Mã số




Anonymous inner function() with outer function()

đầu ra

Tôi có nên sử dụng các hàm javascript lồng nhau không?

Giải trình

  • Đã tạo một hàm bên ngoài addSum(a) và hàm ẩn danh bên trong (b)
  • Khi chúng ta gọi addSum(5) thì kết quả của nó trở thành một hàm nữa có tên out()
  • Một lần nữa nếu chúng ta gọi hàm out(3) thì sẽ cho chúng ta kết quả a+b=5+3=8

Ghi chú. Kết quả một hàm(addSum()) có thể trả về một hàm nữa(out()) trong JavaScript

4. Chức năng bên trong và bên ngoài với phạm vi biến

cú pháp

var m=0; //global value
function parent(p,q) //p,q parent values
{
var a=10;//parent value or local value
function child()
{
var b=20;//local value
//code
}
child();
}
parent(2,4);

Mã số

________số 8

đầu ra

Tôi có nên sử dụng các hàm javascript lồng nhau không?

Giải trình

Như bạn có thể thấy, hàm child() đầu ra ở trên có thể truy cập tất cả các giá trị như giá trị toàn cục, cục bộ, giá trị gốc. Trong khi đó, hàm parent() có thể truy cập các giá trị của chính nó và các giá trị toàn cục

Phần kết luận

JavaScript (JS) đã cho phép các hàm lồng nhau mà không có bất kỳ lỗi nào. JS cũng cho phép các chức năng ẩn danh bên trong một chức năng bên ngoài. Hàm con có thể truy cập tất cả các giá trị toàn cầu, cục bộ và cha mẹ. Trong trường hợp của Parent, hàm chỉ cho phép toàn cầu và đó là các giá trị của cha mẹ

Bài viết được đề xuất

Đây là hướng dẫn về Hàm lồng nhau trong Javascript. Ở đây chúng ta thảo luận về phần giới thiệu, Các hàm lồng nhau hoạt động như thế nào trong JavaScript và các ví dụ về mã và đầu ra. Bạn cũng có thể xem qua các bài viết liên quan khác của chúng tôi để tìm hiểu thêm –

Bạn có nên lồng các hàm trong JavaScript không?

Một nhược điểm của việc khai báo hàm lồng nhau là nó sẽ được tạo bên trong môi trường của hàm mỗi khi bạn gọi hàm cha. Về lý thuyết, điều này có thể làm giảm hiệu suất nếu hàm cha được gọi thường xuyên. Tuy nhiên, các hàm lồng nhau được sử dụng rất nhiều trong Javascript .

Có tốt không khi có các chức năng lồng nhau?

Một hàm lồng nhau có thể truy cập các hàm cục bộ, biến, hằng, kiểu, lớp, v.v. trong cùng một phạm vi hoặc trong bất kỳ phạm vi kèm theo nào mà không truyền tham số rõ ràng, điều này giúp đơn giản hóa rất nhiều việc truyền dữ liệu vào và ra khỏi hàm lồng nhau . Điều này thường được phép cho cả đọc và viết.

Có thể có chức năng bên trong chức năng?

Thực sự tốt khi khai báo một hàm bên trong một hàm khác . Điều này đặc biệt hữu ích khi tạo trang trí. Tuy nhiên, theo nguyên tắc thông thường, nếu hàm phức tạp (hơn 10 dòng), tốt hơn là nên khai báo nó ở cấp độ mô-đun.

Khi nào bạn nên tạo một hàm trong JavaScript?

Trong JavaScript, một hàm cho phép bạn xác định một khối mã, đặt tên cho nó và sau đó thực thi nó bao nhiêu lần tùy thích. A JavaScript function can be defined using function keyword.