7.1 .Các toán tử số học
12. Hàm(function)
12.4. Cách khai báo & gọi hàm "có tham số"
- Để khai báo một hàm thuộc thoại có tham số, ta sử dụng cú pháp như sau: functiontên hàm(tham số thứ nhất,tham số thứ hai,tham số thứ ba,....) {
//Danh sách các câu lệnh của hàm }
- Tham số có tính năng gần giống như biến, tuy nhiên tham số thì chỉ có thể sử dụng bên trong hàm.
- Khi khai báo hàm, ta khai báo danh sách các tham số thì điều này cũng gần giống như việc khai báo danh sách các biến.
- Đối với hàm có tham số, khi gọi hàm ta phải truyền giá trị cho các tham số theo cú pháp như sau:
tên hàm(giá trị tham số thứ nhất,giá trị tham số thứ hai,giá trị tham số thứ ba,....)
- Việc truyền giá trị cho tham số cũng tương tự như việc gán giá trị cho biến, nếu ta gọi hàm mà khơng truyền giá trị cho các tham số thì mặc định các tham số sẽ có giá trị là undefined
Ví dụ:
o Tạo một hàm có tên là GioiThieuBanThan
o Hàm GioiThieuBanThan có hai tham số là name & year
<script>
document.write("Tôi là " + name + " sinh năm " + year); }
GioiThieuBanThan(); //Tôi là undefined sinh năm undefined
GioiThieuBanThan("Trình Giảo Kim"); //Tơi là Trình Giảo Kim sinh năm undefined
GioiThieuBanThan("La Thành", 1989); //Tôi là La Thành sinh năm 1989 GioiThieuBanThan("Tần Thúc Bảo", 1985); //Tôi là Tần Thúc Bảo sinh năm 1985
</script>
- Để tránh tình trạng tham số bị nhận giá trị undefined thì trong lúc khai báo hàm ta có thể gán giá trị mặc định cho các tham số, khi đó nếu lúc gọi hàm ta khơng truyền giá trị cho tham số thì tham số sẽ sử dụng giá trị mặc định được gán lúc khai báo. Ví dụ:
o Hàm GioiThieuBanThan bên dưới có hai tham số là name & year
o Tham số là name được gán giá trị mặc định là Nhân
o Tham số là year được gán giá trị mặc định là 1993
<script>
function GioiThieuBanThan(name = "Nhân", year = 1993){ document.write("Tôi là " + name + " sinh năm " + year); }
GioiThieuBanThan(); //Tôi là Nhân sinh năm 1993
GioiThieuBanThan("Trình Giảo Kim"); //Tơi là Trình Giảo Kim sinh năm 1993 GioiThieuBanThan("La Thành", 1989); //Tôi là La Thành sinh năm 1989 </script>