C1910i1_Trần Văn Hải

Hàm

Hàm là một tập hợp các câu lệnh hay chỉ thị thực hiện 1 tác vụ, công việc cụ thể. Nó là một công cụ hữu ích có thể tái sử dụng nhiều lần và thiết kế giải pháp cho một bài toán nhất định. Nó có thể giúp chúng ta chia một bài toán thành các bài toán nhỏ, và dùng các hàm nhỏ để thực hiện các công việc để giải quyết các vấn đề nhỏ ấy. Một thứ rất quan trọng mà ở ngôn ngữ lập trình nào cũng có, người lập trình nào cũng phải biết và nắm vững.

Hàm có 2 loại, hàm dùng sẵn – là hàm được dựng sẵn trong các ngôn ngữ lập trình, như trong javascript là: alert(), prompt(), confirm(),…. và hàm tự tạo – hàm được định nghĩa bởi người dùng. Hàm dựng sẵn thường là hàm có trả về giá trị và có tham số truyền vào, trong khi hàm tự tạo có thể có giá trị trả về hoặc không, và đối với tham số truyền vào cũng vậy. Hàm không có tham số truyền vào hoặc không có giá trị trả về hoặc cả hai, thường là các hàm dùng để nhập, xuất. Điều quan trọng cần lưu ý là một khi hàm đã có giá trị trả về thì cần phải lưu trữ, hiển thị hoặc dùng trong biểu thức.

Tham số được truyền vào hàm (tham số thực) và tham số hình thức phải có số lượng và thứ tự tương ứng. Một tham số hình thức sẽ chỉ sao chép giá trị được truyền vào mà không làm thay đổi giá trị của tham số truyền. Đó được gọi là truyền tham trị. Javascript luôn luôn truyền tham trị và không bao giờ thay đổi giá trị với kiểu dữ liệu nguyên thủy. Tuy nhiên, khi một biến tham chiếu đến một đối tượng bao gồm mảng, giá trị là tham chiếu đến đối tượng. Còn với truyền tham chiếu, hàm được gọi bằng cách chuyển trực tiếp tham chiếu / địa chỉ của biến làm đối số. Thay đổi đối số bên trong hàm ảnh hưởng đến biến được truyền từ bên ngoài hàm. 

Cần lưu ý khi đặt, sử dụng tên biến và hàm để tránh gây các sai sót hay xung đột trong chương trình. Một hàm cục bộ sẽ chỉ có tác động trong hàm chứa nó, trong khi hàm toàn cục có thể tác động đến tất cả hàm có trong chương trình, điều này khá quan trọng để không phát sinh các lỗi hay sai sót trong chương trình. Ngoài ra cũng không nên đặt các tên biến giống với tên hàm để tránh sai sót, nhầm lẫn sau này.

Trong hàm, khi gặp câu lệnh return, nó sẽ thực hiện đồng thời hai hành động: thoát khỏi hàm hiện tại chứa nó, trao quyền điều khiển về cho hàm gọi và gán giá trị sau return cho hàm. Nếu không có gì sau return, nó sẽ chỉ thoát hàm mà không truyền bất kì giá trị nào cho hàm ấy.

Leave a reply:

Your email address will not be published.

Site Footer

Sliding Sidebar

Facebook