JavaScript Functions

19/06/2019

Bài sau » « Bài trước

JavaScript functions là một khối code được viết để thực hiện một tác vụ, nhiệm vụ cụ thể.

JavaScript functions sẽ được thực thi khi được gọi từ một hành động bất kì.

function myFunction(p1, p2) { return p1 * p2; // function này trả về phép nhân giữa p1 với p2 }

Cú pháp của Javascript function

Javascript functions được định nghĩa bằng từ khóa function, sau đó là tên của function và cuối cùng là cặp dấu ngoặc đơn ().

Tên của function có thể chứa kí tự, số, dấu gạch dưới và kí tự $ (Rule tương tự như cách đặt tên biến).

Trong dấu ngoặc đơn có thể chứa nhiều tham số, mỗi tham số cách nhau bởi dấu phẩy (tham số 1, tham số 2,....)

Đoạn mã code thực thi của function nằm trong cặp dấu ngoặc nhọn {}

function name_function( tham_so_1, tham_so_2, tham_so_3) { // Code thực thi của function ở đây. }

Các tham số (parameters) là danh sách các biến nằm trong cặp dấu ngoặc đơn.

Các đối số (arguments) là các giá trị nhận được khi function được gọi.

Bên trong functions, các tham số là các biến cục bộ (chỉ sử dụng bên trong function).

Đoạn code bên trong function sẽ được thực thi khi được gọi từ :

  • 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 từ mã JavaScript.
  • Tự động (tự gọi).

Function return

Khi Javascript gặp dòng lệnh return, function sẽ dừng thực thi.

Nếu function được gọi từ một câu lệnh, Javascript sẽ "return" kết quả của function và thực thi tiếp đoạn code tiếp theo sau câu lệnh đó.

Giá trị trả về của function sẽ được gán cho nơi gọi function đó. Xem ví dụ bên dưới:

var x = myFunction(4, 3); // Gọi function. Giá trị trả về gán cho biến x là 12 function myFunction(a, b) { return a * b; // Function trả về kết quả phép nhân a với b }

Why Functions?

Bạn có thể sử dụng lại code: Viết code một lần và sử dụng nhiều lần.

Bạn có thể sử dụng cùng một function nhiều lần với các tham số khác nhau, để tạo ra các kết quả khác nhau.

function toCelsius(f) { return (5/9) * (f-32); } document.getElementById("demo").innerHTML = toCelsius(77);

Ví dụ bên trên là đổi từ độ F sang độ C. Khi gọi hàm toCelsius(77) truyền vào giá trị 77 độ F, lúc này kết quả trả về là 25 độ C.

Cũng với function bên trên, nhưng ta gọi hàm toCelsius(85) thì ta được kết quả là 29,4 độ C.

Đối với ví dụ bên trên, khi gọi hàm mà không có cặp dấu ngoặc đơn thì nó sẽ trả về là định nghĩa của hàm chứ không phải là kết quả đã được xử lý.

function toCelsius(f) { return (5/9) * (f-32); } document.getElementById("demo").innerHTML = toCelsius;

Kết quả trả về là:

function toCelsius(f) { return (5/9) * (f-32); }

Sử dụng hàm như giá trị của biến

Các hàm có thể được sử dụng giống như cách bạn sử dụng các biến, trong tất cả các loại công thức, bài tập và tính toán.

Thay vì sử dụng một biến để lưu trữ giá trị trả về của hàm:

var x = toCelsius(77); var text = "Nhiệt độ là " + x + " độ C";

Bạn có thể sử dụng hàm trực tiếp, làm giá trị biến:

var text = "Nhiệt độ là " + toCelsius(77) + " độ C";

Bạn sẽ tìm hiểu thêm rất nhiều về function ở các bài học sau.

Biến cục bộ - Local

Các biến được khai báo bên trong function, nó trở thành biến cục bộ - LOCAL . Các biến cục bộ chỉ được truy cập bên trong function đó.

// Code ở đây không dùng được biến carName function myFunction() { var carName = "Audi"; // Code ở đây dùng được biến carName } // Code ở đây không dùng được biến carName

Vì các biến cục bộ chỉ được nhận dạng bên trong các function của chúng, các biến có cùng tên có thể được sử dụng trong các function khác nhau. 

Biến cục bộ được tạo khi function bắt đầu và bị xóa khi function hoàn thành.


Bài sau » « Bài trước
Back to top