Hiểu rõ về hàm trong javascript

Hàm (function) là tập hợp các câu lệch được sắp xếp lại với để cùng thực hiện 1 chức năng nào đó và function được viết ra có đôi khi được viết ra chỉ để gọi 1 lần, nhưng cũng có function được viết ra và tái sử dụng nhiều lần.

Một chương trình máy tính một phần mềm được tạo nên bởi rất rất nhiều các function , function chính là đơn vị nhỏ nhất thực thi những hành động nhỏ nhất , công việc nhỏ nhất trong 1 chương trình máy tính.

Function được xây dựng sẵn

Trong bất kỳ 1 ngôn ngữ lập trình nào thì cũng đều luôn có những function được xây dựng sẵn ( Built-in Functions ) chúng ta chỉ việc hiểu và áp dụng function này tùy theo tình huống và mục đích sử dụng

Các Built-in Functions mà chúng ta rất hãy sử dụng map() , reduce() ,toFixed() , toString() , charAt(), concat() , .... còn rất nhiều các function khác, trong các bài sau mình sẽ giới thiệu với các bạn nhé.

Phân loại hàm trong javascript

Tùy thuộc theo tham số chúng ta có 2 loại function đó là :

  • Hàm không có tham số
  • Hàm có tham số

Đến đây chúng ta lại phải làm quen với 2 khái niệm mới đó là tham số đối số

Hàm

Tham số là biến khi chúng ta đã định nghĩa và khai báo hàm .

Trong ví dụ trên chúng ta có hàm tinhTong hàm này có 2 tham số a b đây là tham số vì khi chúng ta khai báo hàm chúng ta cũng khai báo luôn 2 biến này.

Đối số trong ví dụ ở dòng 36 chúng ta thực hiện 1 lời gọi hàm, hay chạy hàm chúng ta thay a và b bằng 6 và 9 lúc này 6 và 9 được gọi là đối số . Vậy đối số là giá trị chúng ta truyền vào hàm thông qua tham số a và b khi hàm được chạy .

Tóm lại :hàm có tham số là hàm có đầu vào để cho ra đầu ra, tùy thuộc vào đầu vào là gì thì sẽ cho ra kết quả khác nhau. Để hiểu thêm về tham số và đối số chúng ta cùng lấy ví dụ về máy pha cà phê, chúng ta coi cái máy là function , để máy cho sản phẩm là 1 cốc cà phê thì chúng ta giả sử phải cần có 2 nguyên liệu đầu vào , 2 nguyên liệu này chúng ta gọi là tham số . Khi chúng ta bỏ vào máy, hạt cà phê và nước nóng ok ổn máy chạy tốt và cho ra cà phê. hạt cà phê và nước nóng là đối số. Chuyện gì sẽ xảy ra nếu chúng ta cho vào máy gạo rang và nước nóng tất nhiên là không thể cho ra côc cà phê được rồi. Như vậy việc viết hàm theo mục đính và nắm chắc được đối số truyền vào hàm qua tham số để hàm chạy đúng theo ý chúng ta muốn là điều cực kỳ quan trọng.

Hàm không có tham số là hàm khi được viết ra và thực thi thì kết quả không bao giờ thay đổi. Trở lại ảnh bên trên chúng ta có hàm xinchao() hàm này không có tham số, chính vì không có tham số nên dù gì đi chăng nữa khi hàm này chạy thì cũng sẽ mãi mãi chỉ cho chúng ta kết quả là in trên màn hình Console câu "xin chào xyzabc.xyz".

Phân loại hàm theo cách hàm được khai báo

  • Declaration Function
  • Expression Function
  • Arrow Function (Hàm mũi tên)

Declaration Function là dạng function được khai báo đầy đủ bắt đầu bằng từ khóa function sau đó đến tên của function tiếp theo là đến tham số nếu có thì tham số nằm trong () hoặc không có tham số thì để trống, tiếp theo là phần các câu lệch được bọc trong dấu { }. Declaration Function cách khai báo và chạy hàm được thể hiện trên ảnh trên.

Expression Function là hàm có phần ngược lại 1 chút với hàm Declaration Function có nghĩa là hàm này không bắt buộc phải có từ khóa function tên của hàm có cũng được không có cũng được. Khi hàm được khai báo mà không có tên chúng ta gọi nó là hàm ẩn danh (Anonymous Function). Và thường được gán cho 1 biến chúng ta cùng xem hình ảnh sau để hiểu rõ hơn.

Hàm

Trong ví dụ trên biến hello và hello1 đều được gán bằng 1 function và function này thì đều thuộc Expression Function. Dòng 13 và 14 là các dòng lệch thực thi chạy các function này.

Các dạng khai báo Expression Function mà chúng ta cũng rất hay gặp trong 1 hàm callback và khai báo 1 đối tượng như trong ví dụ sau:

Hàm

Trong ví dụ này hàm setTimeout bản thân nó đã là 1 hàm và nó nhận 1 tham số lại là 1 hàm, hàm hello() lúc này cũng thuộc loại Expression Function, Khi khai báo 1 đối tượng human tại dòng 10 chúng ta có 1 hàm không tên và nó là giá trị của sayHi , function này cũng thuộc Expression Function.

Arrow Function (Hàm mũi tên) về loại hàm này mình sẽ viết trong bài tiếp theo nhé.

Tóm lại

Hiểu về các loại function trong javascript giúp cho quá trình khi chúng ta mới tiếp cận đến ngôn ngữ này khỏi bỡ ngỡ , sau này khi đã làm việc nhiều với javascript thì mọi thứ ở trên nó sẽ như nằm lòng của tất cả mọi người. Chúc các bạn thành công, trong bài viết tiếp theo chúng ta sẽ cùng đi tim hiểu về hàm mũi tên, cũng như 1 số lưu ý về hàm và cách sử dụng hàm nhé.