07/09/2018, 15:03

Định nghĩa hàm trong JavaScript

Các hàm JavaScript được định nghĩa bằng từ khóa hàm. Bạn có thể sử dụng một hàm khai báo hoặc một hàm biểu thức. Khai báo hàm Một hàm được khai báo theo cú pháp sau: function functionName ( parameters ) { code to be executed } Các hàm được khai báo ...

Các hàm JavaScript được định nghĩa bằng từ khóa hàm. Bạn có thể sử dụng một hàm khai báo hoặc một hàm biểu thức.

Khai báo hàm

Một hàm được khai báo theo cú pháp sau:

function functionName(parameters) {
code to be executed
}

Các hàm được khai báo không được thực thi ngay lập tức. Chúng được “lưu lại để sử dụng sau”, và sẽ được thực hiện sau khi chúng được gọi.

function myFunction(a, b) {
return a * b;
}

Các chữ số học được sử dụng để tách các câu lệnh JavaScript thực thi riêng biệt. Vì một khai báo hàm không phải là một câu lệnh thực thi nên không thường kết thúc bằng dấu chấm phẩy.

Hàm biểu thức

Một hàm JavaScript cũng có thể được định nghĩa bằng cách sử dụng một biểu thức. Một hàm biểu thức có thể được lưu trữ trong một biến:

var x = function (a, b) {return a * b};

Sau khi một hàm biểu thức đã được lưu trữ trong một biến, biến có thể được sử dụng như một hàm:

var x = function (a, b) {return a * b};
var z = x(4, 3);

Hàm trên thực sự là một hàm ẩn danh (một hàm không có tên). Hàm lưu trữ trong các biến không cần tên hàm. Chúng luôn được gọi bằng cách sử dụng tên biến.

Hàm trên kết thúc với dấu chấm phẩy vì nó là một phần của câu lệnh thực thi.

Hàm dựng Function()

Như bạn đã thấy trong các ví dụ trước, các hàm JavaScript được định nghĩa bằng từ khoá hàm. Các hàm cũng có thể được định nghĩa với hàm dựng sẵn được gọi là Function().

var myFunction = new Function(“a”, “b”, “return a * b”);

var x = myFunction(4, 3);

Bạn thực sự không phải sử dụng hàm tạo. Ví dụ trên có thể viết thành:

var myFunction = function (a, b) {return a * b};

var x = myFunction(4, 3);

Bạn có thể tránh sử dụng từ khoá mới trong JavaScript.

Hàm Hoisting

Hoisting là hành vi mặc định của JavaScript di chuyển các khai báo lên đầu phạm vi hiện tại. Hoisting áp dụng cho các khai báo biến và các khai báo hàm. Do đó, các hàm JavaScript có thể được gọi trước khi chúng được khai báo:

myFunction(5);

function myFunction(y) {
return y * y;
}

Hàm tự gọi

Hàm biểu thức có thể được thực hiện “tự gọi”. Một biểu thức tự gọi được gọi ra (khởi động) tự động, mà không được gọi. Các hàm biểu thức sẽ thực hiện tự động nếu biểu thức được theo sau bởi ().

Bạn không thể tự gọi một hàm khai báo. Bạn phải thêm ngoặc đơn xung quanh hàm để chỉ ra rằng nó là một hàm biểu thức:

(function () {
var x = “Hello!!”;      // I will invoke myself
})();

Hàm trên thực sự là một hàm tự gọi ẩn danh (hàm không có tên).

Hàm được sử dụng làm giá trị

Các hàm JavaScript có thể được sử dụng làm các giá trị:

function myFunction(a, b) {
return a * b;
}

var x = myFunction(4, 3);

Các hàm JavaScript có thể được sử dụng trong các biểu thức:

function myFunction(a, b) {
return a * b;
}

var x = myFunction(4, 3) * 2;

Hàm là Đối tượng

Toán tử typeof trong JavaScript trả về “function” cho các hàm. Tuy nhiên, các hàm JavaScript tốt nhất có thể được mô tả như các đối tượng.

Các hàm JavaScript có cả thuộc tính và phương thức. Thuộc tính arguments.length trả về số đối số nhận được khi hàm được gọi:

function myFunction(a, b) {
return arguments.length;
}

Phương thức toString() trả về hàm như một chuỗi:

function myFunction(a, b) {
return a * b;
}

var txt = myFunction.toString();

Một hàm được xác định là thuộc tính của một đối tượng, được gọi là phương thức đối tượng. Một hàm được thiết kế để tạo các đối tượng mới, được gọi là một hàm tạo đối tượng.

Tham khảo thêm các khóa học lập trình web từ Front-end đến Back-end do trực tiếp giảng viên quốc tế trường FPT Arena giảng dạy giúp bạn thành thạo kỹ năng lập trình web từ CƠ BẢN – NÂNG CAO với giá chỉ từ 290,000đ:
  • Học lập trình front-end cơ bản với bootstrap 4/html5/css3
  • Học lập trình front-end nâng cao qua Project thực tế
  • Học thiết kế web với Photoshop, CSS theo kiểu SASS
  • Học cách sử dụng Git_hub cho lập trình viên
  • Học lập trình Back-end PHP theo mô hình MVC cơ bản
  • Học lập trình Back-end PHP theo mô hình MVC nâng cao
  • Học lập trình Cơ sở dữ liệu với AngularJS
  • Học lập trình theme wordpress. Làm ra mọi website hoàn chỉnh với wordpress
  • Combo lập trình front-end từ cơ bản – nâng cao
  • Combo lập trình back-end từ cơ bản đến nâng cao
  • Combo lập trình web với word press từ A-Z
0