Hay viết hàm liệt kê tất cả các phần tử la số lẻ trong danh sách

Trước khi đi vào khái niệm Hàm trong Javascript là gì, chúng ta cùng xem một ví dụ sau đây.

Dưới đây là ví dụ về việc kiểm tra lần lượt các số x, y, z có phải là số chẵn hay không?

var x = 1; var y = 2; var z = 3; if [x % 2 == 0] { console.log[x + ' là số chẵn'] } else { console.log[x + ' là số lẻ'] } if [y % 2 == 0] { console.log[y + ' là số chẵn'] } else { console.log[y + ' là số lẻ'] } if [z % 2 == 0] { console.log[z + ' là số chẵn'] } else { console.log[z + ' là số lẻ'] }

Nhận xét về ví dụ trên

  • Xét về góc độ đáp số, ví dụ trên thực hiện đúng yêu cầu của bài toán đề ra, tức là đã kiểm tra chính xác lần lượt các số x, y, z có phải là số chẵn hay không.
  • Ví dụ trên có những đoạn code bị lặp đi lặp lại, cụ thể là việc kiểm tra, x, y, z chia cho 2 có dư hay không? Nếu không dư, thì là số chẵn, nếu có dư thì là số lẻ.

Kết luận: Ví dụ trên tuy giải quyết đúng yêu cầu bài toán, nhưng cách giải quyết có vẻ không ổn do có nhiều đoạn code bị lặp đi lặp lại. Giả sử không phải chỉ là 3 số x, y, z, mà là 100 số a, b, c,… gì đấy, không lẽ ta lặp đi lặp lại logic kiểm tra số chẵn lẻ 100 lần? Rồi không dừng lại ở 100 số, mà là 1000 số, thì ta cũng lặp đi lặp lại 1000 lần. Không… không thể như thế được.

II. Hàm trong Javascript là gì?

Hàm trong Javascript là một khái niệm giúp bạn có thể gom một đoạn code thành một khối, khi cần có thể gọi ra để sử dụng. Cách hoạt động của hàm được mô tả như sau:– Bước 1: Bạn đưa cho hàm một tham số.– Bước 2: Hàm xử lý tham số bạn vừa đưa vào.

– Bước 3: Trả về một kết quả.

Để khai báo một hàm [function] trong Javascript, chúng ta sử dụng theo cú pháp sau:

function tenHam [thamSo1, thamSo2, ... thamSoN] { // thân hàm // chứa các code cần xử lý }

Để hiểu rõ hơn, mình sẽ sử dụng function để giải quyết ví dụ trên nhé.

// Khai hàm soChanHayLe // có tính năng nhận biết số n truyền vào là số chẵn hay lẻ. function soChanHayLe [n] { if [n % 2 == 0] { console.log[n + ' là số chẵn']; } else { console.log[n + ' là số lẻ']; } } var x = 1; var y = 2; var z = 3; // kiểm tra các số x, y, z là chẵn hay lẻ soChanHayLe[x]; soChanHayLe[y]; soChanHayLe[z]; // bạn cũng có thể viết trực tiếp số cần kiểm tra như sau soChanHayLe[10]; soChanHayLe[11];

Nhận xét

  • Đáp số vẫn không thay đổi so với việc không sử dụng function.
  • Khi áp dụng function, code có vẻ gắn gọn và dễ hiểu hơn.
  • Dễ dàng tái sử dụng khi bạn muốn kiểm tra một số khác.
  • Logic kiểm tra số chẵn lẻ tập trung tại một chỗ, nếu muốn thay đổi logic thì chỉ cần thay đổi một chỗ.

Đến đây chắc bạn hiểu tư tưởng của function sinh ra là để làm gì rồi chứ.

III. Từ khóa return

Có một từ khóa rất hay được sử dụng trong thân hàm, đó là từ khóa return.

Giá trị nằm ngay sau từ khóa return sẽ được trả về thông qua lời gọi hàm.

Để hiểu rõ hơn về cách sử dụng từ khóa return, các hạn hãy theo dõi các ví dụ sau đây.

Ví dụ 1: Mình sẽ xây dựng một hàm kiểm tra một số có phải là số nguyên tố hay không, nếu là số nguyên tố thì trả về true, ngược lại trả về false.

Nhắc lại: Số nguyên tố là số tự nhiên lớn hơn 1 và chỉ chia hết cho 1 và chính nó.

/** * Hàm kiểm tra số n truyền vào có phải là số nguyên tố hay không? * Nếu là số nguyên tố, trả về true, ngược lại trả về false * * Ý tưởng: Số nguyên tố là số tự nhiên lớn hơn 1 và chỉ chia hết cho 1 và chính nó. * Vì vậy mà số nguyên tố luôn chỉ có 2 ước, nếu nhiều hơn 2 ước thì số đó không phải là số nguyên tố. * * Ban đầu mình có biến soUoc mang giá trị là 1. Đây là biến sẽ lưu số ước của số n. * Mình khởi tạo giá trị bằng 1 là bởi vì bất kỳ số tự nhiên nào lớn hơn 1 đều chia hết cho 1. * Tiếp theo mình sử dụng một vòng lặp cho lặp từ 2 tới n, * nếu n chia hết cho bất kỳ số nào trong khoảng từ 2 đến n, biến soUoc sẽ tăng lên 1 đơn vị. * Sau toàn bộ vòng lặp, mình kiểm tra soUoc có bằng 2 hay không? * Nếu soUoc bằng 2, thì n là số nguyên tố. * Ngược lại n không phải là số nguyên tố. */ function laSoNguyenTo [n] { var soUoc = 1; for [var i = 2; i

Chủ Đề