Trong JavaScript, một hàm cho phép bạn xác định một khối mã, đặt tên cho nó và sau đó thực thi nó bao nhiêu lần tùy thích
Hàm JavaScript có thể được xác định bằng từ khóa hàm
cú pháp
//defining a function function [] { // code to be executed }; //calling a function [];
Ví dụ sau đây cho thấy cách xác định và gọi một hàm trong JavaScript
Thí dụ. Xác định và gọi một chức năng
function ShowMessage[] {
alert["Hello World!"];
}
ShowMessage[];
Thử nó
Trong ví dụ trên, chúng tôi đã định nghĩa một hàm có tên ShowMessage hiển thị thông báo bật lên "Xin chào thế giới. ". Hàm này có thể được thực thi bằng toán tử [] e. g. Tin chương trình[]
Thông số chức năng
Một chức năng có thể có một hoặc nhiều tham số, sẽ được cung cấp bởi mã gọi và có thể được sử dụng bên trong một chức năng. JavaScript là ngôn ngữ kịch bản kiểu động, do đó, một tham số chức năng có thể có giá trị của bất kỳ loại dữ liệu nào
Thí dụ. Thông số chức năng
function ShowMessage[firstName, lastName] {
alert["Hello " + firstName + " " + lastName];
}
ShowMessage["Steve", "Jobs"];
ShowMessage["Bill", "Gates"];
ShowMessage[100, 200];
Thử nó
Bạn có thể truyền ít hơn hoặc nhiều đối số hơn trong khi gọi một hàm. Nếu bạn truyền ít đối số hơn thì các tham số còn lại sẽ không được xác định. Nếu bạn truyền nhiều đối số hơn thì các đối số bổ sung sẽ bị bỏ qua
Thí dụ. Thông số chức năng
function ShowMessage[firstName, lastName] {
alert["Hello " + firstName + " " + lastName];
}
ShowMessage["Steve", "Jobs", "Mr."]; // display Hello Steve Jobs
ShowMessage["Bill"]; // display Hello Bill undefined
ShowMessage[]; // display Hello undefined undefined
Thử nó
Đối tượng đối số
Tất cả các chức năng trong JavaScript có thể sử dụng đối tượng đối số theo mặc định. Một đối tượng đối số bao gồm giá trị của từng tham số
Đối tượng đối số là một mảng giống như đối tượng. Bạn có thể truy cập các giá trị của nó bằng cách sử dụng chỉ mục tương tự như mảng. Tuy nhiên, nó không hỗ trợ các phương thức mảng
Thí dụ. đối số đối tượng
function ShowMessage[firstName, lastName] {
alert["Hello " + arguments[0] + " " + arguments[1]];
}
ShowMessage["Steve", "Jobs"];
ShowMessage["Bill", "Gates"];
ShowMessage[100, 200];
Thử nó
Một đối tượng đối số vẫn hợp lệ ngay cả khi chức năng không bao gồm bất kỳ tham số nào
Thí dụ. đối số đối tượng
function ShowMessage[] {
alert["Hello " + arguments[0] + " " + arguments[1]];
}
ShowMessage["Steve", "Jobs"]; // display Hello Steve Jobs
Thử nó
Một đối tượng đối số có thể được lặp lại bằng vòng lặp for
Thí dụ. Lặp lại tất cả các đối số
function ShowMessage[] {
for[var i = 0; i < arguments.length; i++]{
alert[arguments[i]];
}
}
ShowMessage["Steve", "Jobs"];
Thử nó
Giá trị trả về
Một hàm có thể trả về 0 hoặc một giá trị bằng cách sử dụng từ khóa return
Thí dụ. Giá trị trả về từ một hàm
function Sum[val1, val2] {
return val1 + val2;
};
var result = Sum[10,20]; // returns 30
function Multiply[val1, val2] {
console.log[ val1 * val2];
};
result = Multiply[10,20]; // undefined
Thử nó
Trong ví dụ trên, một hàm có tên Sum thêm val1 & val2 và trả về. Vì vậy, mã gọi có thể nhận giá trị trả về và gán nó cho một biến. Hàm thứ hai Multiply không trả về bất kỳ giá trị nào, vì vậy biến kết quả sẽ không được xác định
Một hàm có thể trả về một hàm khác trong JavaScript
Thí dụ. Chức năng trả về một chức năng
________số 8
Thử nó
Biểu thức hàm
JavaScript cho phép chúng ta gán một hàm cho một biến và sau đó sử dụng biến đó làm hàm. Nó được gọi là biểu thức hàm
Thí dụ. Biểu thức hàm
var add = function sum[val1, val2] {
return val1 + val2;
};
var result1 = add[10,20];
var result2 = sum[10,20]; // not valid
Thử nó
Chức năng ẩn danh
JavaScript cho phép chúng ta định nghĩa một hàm mà không cần bất kỳ tên nào. Chức năng không tên này được gọi là chức năng ẩn danh. Hàm ẩn danh phải được gán cho một biến
Thí dụ. Chức năng ẩn danh
function ShowMessage[] {
alert["Hello World!"];
}
ShowMessage[];
0Thử nó
Hàm lồng nhau
Trong JavaScript, một hàm có thể có một hoặc nhiều hàm bên trong. Các hàm lồng nhau này nằm trong phạm vi của hàm bên ngoài. Hàm bên trong có thể truy cập các biến và tham số của hàm bên ngoài. Tuy nhiên, chức năng bên ngoài không thể truy cập các biến được xác định bên trong các chức năng bên trong