Hàm JavaScript
Hàm JavaScript là một khối mã được thiết kế để thực hiện một tác vụ cụ thể.
Một hàm JavaScript được thực thi khi "thứ gì đó" gọi nó (gọi nó).
Ví dụ
// Function to compute the product of p1 and p2
function myFunction(p1, p2) {
return p1 * p2;
}
Hãy tự mình thử »Cú pháp hàm JavaScript
Một hàm JavaScript được xác định bằng từ khóa function
, theo sau là tên , theo sau là dấu ngoặc đơn () .
Tên hàm có thể chứa các chữ cái, chữ số, dấu gạch dưới và ký hiệu đô la (quy tắc giống như biến).
Dấu ngoặc đơn có thể bao gồm tên tham số được phân tách bằng dấu phẩy:
( tham số1, tham số2, ... )
Mã được hàm thực thi được đặt bên trong dấu ngoặc nhọn: {}
function
name ( parameter1, parameter2, parameter3 ) {
// code to be executed
}
Các tham số của hàm được liệt kê bên trong dấu ngoặc đơn () trong phần định nghĩa hàm.
Đối số của hàm là các giá trị mà hàm nhận được khi nó được gọi.
Bên trong hàm, các đối số (tham số) hoạt động như các biến cục bộ.
Lời gọi hàm
Mã bên trong hàm sẽ thực thi khi "thứ gì đó" gọi (gọi) hàm:
- Khi một sự kiện xảy ra (khi người dùng nhấp vào nút)
- Khi nó được gọi (được gọi) từ mã JavaScript
- Tự động (tự gọi)
Bạn sẽ tìm hiểu thêm nhiều điều về cách gọi hàm ở phần sau của hướng dẫn này.
Trả về hàm
Khi JavaScript gặp câu lệnh return
, hàm sẽ ngừng thực thi.
Nếu hàm được gọi từ một câu lệnh, JavaScript sẽ "trở lại" để thực thi mã sau câu lệnh gọi.
Các hàm thường tính giá trị trả về . Giá trị trả về được "trả về" cho "người gọi":
Ví dụ
Tính tích của hai số và trả về kết quả:
// Function is called, the return value will end up in x
let x = myFunction(4, 3);
function myFunction(a, b) {
// Function returns the product of a and b
return a * b;
}
Hãy tự mình thử »Tại sao lại có chức năng?
Với các hàm bạn có thể sử dụng lại mã
Bạn có thể viết mã có thể được sử dụng nhiều lần.
Bạn có thể sử dụng cùng một mã với các đối số khác nhau để tạo ra các kết quả khác nhau.
Toán tử ()
Toán tử () gọi (gọi) hàm:
Ví dụ
Chuyển đổi độ F sang độ C:
function toCelsius(fahrenheit) {
return (5/9) * (fahrenheit-32);
}
let value = toCelsius(77);
Hãy tự mình thử »Việc truy cập một hàm có tham số không chính xác có thể trả về câu trả lời sai:
Ví dụ
function toCelsius(fahrenheit) {
return (5/9) * (fahrenheit-32);
}
let value = toCelsius();
Hãy tự mình thử »Truy cập một hàm mà không có () trả về hàm chứ không phải kết quả của hàm:
Ví dụ
function toCelsius(fahrenheit) {
return (5/9) * (fahrenheit-32);
}
let value = toCelsius;
Hãy tự mình thử »Ghi chú
Như bạn thấy từ các ví dụ trên, toCelsius
đề cập đến đối tượng hàm và toCelsius()
đề cập đến kết quả của hàm.
Các hàm được sử dụng làm giá trị biến
Bạn có thể sử dụng hàm giống như cách bạn sử dụng biến, trong tất cả các loại công thức, bài tập và phép tính.
Ví dụ
Thay vì sử dụng một biến để lưu trữ giá trị trả về của hàm:
let x = toCelsius(77);
let text = "The temperature is " + x + " Celsius";
Bạn có thể sử dụng hàm trực tiếp dưới dạng giá trị biến:
let text = "The temperature is " + toCelsius(77) + " Celsius";
Hãy tự mình thử »Bạn sẽ tìm hiểu thêm nhiều điều về các hàm sau trong hướng dẫn này.
Biến cục bộ
Các biến được khai báo trong hàm JavaScript sẽ trở thành LOCAL cho hàm.
Các biến cục bộ chỉ có thể được truy cập từ bên trong hàm.
Ví dụ
// code here can NOT use carName
function myFunction() {
let carName = "Volvo";
// code here CAN use carName
}
// code here can NOT use carName
Hãy tự mình thử »Vì các biến cục bộ chỉ được nhận dạng bên trong các hàm của chúng nên các biến có cùng tên có thể được sử dụng trong các hàm khác nhau.
Các biến cục bộ được tạo khi hàm bắt đầu và bị xóa khi hàm hoàn thành.