/codegym.vn/ - 130
Để xử lý những tình huống này, cần phải dò xét lại cẩn thận để phát hiện nguyên nhân
(như đã liệt kê ở trên) và khắc phục.
Lỗi thường gặp #2: Điều kiện dừng của hàm đệ quy không đúng
Ví dụ:
Hàm tính giai thừa được triển khai như sau:
1.
function
factorial
(
n
)
{
2.
if
(
n
===
2
)
{
3.
return
2
;
4.
}
5.
return
n
*
factorial
(
n
-
1
);
6.
}
Với cách triển khai như thế này, mọi chuyện vẫn diễn ra suôn sẻ nếu chúng ta thực
hiện các lời gọi hàm như factorial(5), factorial(10), factorial(2)..
Nhưng sẽ là vấn đề lớn nếu chúng ta gọi hàm factorial() với tham số nhỏ hơn 2, chẳng
hạn như là factorial(1) hoặc factorial(0). Trong những trường hợp này, hàm factorial()
sẽ được thực thi vô hạn.
Lỗi thường gặp #3: Quên trả về kết quả trong hàm
Với hàm cần trả về giá trị để tái sử dụng, người mới học lập trình thường gặp lỗi quên
sử dụng lệnh return để trả về kết quả sau khi tính toán.
Ví dụ:
1.
function
sum
(
firstNumber
,
secondNumber
)
{
2.
const
result
=
firstNumber
+
secondNumber
// Đoạn mã tính tổng hai tham số
3.
// Không return giá trị biến result khi kết thúc hàm
4.
}
5.
6. console
.
log
(
sum
(
4
,
6
));
// Kết quả sử dụng hàm sum sai
10. Bài thực hành
Bài 1: Chuyển đổi nhiệt độ
Mục tiêu:
Luyện tập xây dựng và sử dụng hàm.
Mô tả:
Xây dựng hàm để chuyển đổi từ độ F sang độ C theo công thức sau:
C = (F - 32)/1.8
Giao diện mẫu của ứng dụng như sau: