CoffeeScript - Chức năng

Hàm là một khối mã có thể sử dụng lại có thể được gọi ở bất kỳ đâu trong chương trình của bạn. Điều này giúp loại bỏ nhu cầu viết đi viết lại cùng một đoạn mã. Nó giúp các lập trình viên viết mã mô-đun.

Các hàm cho phép người lập trình chia một chương trình lớn thành một số hàm nhỏ và có thể quản lý được.

Nói chung, bằng cách sử dụng JavaScript, chúng ta có thể xác định hai loại hàm: named functions, các hàm thông thường với nội dung tên hàm và, Function expressions. Sử dụng biểu thức hàm, chúng ta có thể gán hàm cho các biến.

//named function
function sayHello(){
   return("Hello there");
}
 
//function expressions
var message = function sayHello(){
   return("Hello there");
}

Các chức năng trong CoffeeScript

Cú pháp của hàm trong CoffeeScript đơn giản hơn so với JavaScript. Trong CoffeeScript, chúng tôi chỉ định nghĩa các biểu thức hàm.

Các functiontừ khóa bị loại bỏ trong CoffeeScript. Để xác định một hàm ở đây, chúng ta phải sử dụng một mũi tên mỏng (->).

Phía sau, trình biên dịch CoffeeScript chuyển đổi mũi tên sang định nghĩa hàm trong JavaScript như hình dưới đây.

(function() {});

Không bắt buộc phải sử dụng returntừ khóa trong CoffeeScript. Mọi hàm trong CoffeeScript tự động trả về câu lệnh cuối cùng trong hàm.

  • Nếu chúng ta muốn quay lại hàm đang gọi hoặc trả về một giá trị trước khi đến cuối hàm, thì chúng ta có thể sử dụng return từ khóa.

  • Ngoài các hàm trong dòng (các hàm nằm trong một dòng), chúng ta cũng có thể xác định các hàm đa dòng trong CoffeeScript. Vì các dấu ngoặc nhọn đã được loại bỏ, chúng ta có thể làm điều đó bằng cách duy trì các dấu thụt vào thích hợp.

Xác định một chức năng

Sau đây là cú pháp xác định một hàm trong CoffeeScript.

function_name = -> function_body

Thí dụ

Dưới đây là ví dụ về một hàm trong CoffeeScript. Tại đây, chúng tôi đã tạo một hàm có têngreet. Hàm này tự động trả về câu lệnh trong đó. Lưu nó trong một tệp có tênfunction_example.coffee

greet = -> "This is an example of a function"

Biên dịch nó bằng cách thực hiện lệnh sau trong dấu nhắc lệnh.

c:\>coffee -c function_example.coffee

Khi biên dịch, nó tạo ra mã JavaScript sau. Ở đây bạn có thể thấy rằng trình biên dịch CoffeeScript đã tự động trả về giá trị chuỗi trong hàm có têngreet().

// Generated by CoffeeScript 1.10.0
(function() {
  var greet;
  
  greet = function() {
    return "This is an example of a function";
  };

}).call(this);

Hàm nhiều dòng

Chúng ta cũng có thể định nghĩa một hàm có nhiều dòng bằng cách duy trì các dấu thụt vào thay vì dấu ngoặc nhọn. Nhưng chúng ta phải nhất quán với thụt lề mà chúng ta tuân theo cho một dòng trong suốt một hàm.

greet =  ->
  console.log "Hello how are you"

Khi biên dịch, CoffeeScript ở trên cung cấp cho bạn mã JavaScript sau. Trình biên dịch CoffeeScript lấy phần thân của hàm mà chúng ta đã phân tách bằng cách sử dụng thụt đầu dòng và đặt trong dấu ngoặc nhọn.

// Generated by CoffeeScript 1.10.0
(function() {
  var greet;

  greet = function() {
    return console.log("Hello how are you");
  };

}).call(this);

Các hàm với các đối số

Chúng ta cũng có thể chỉ định các đối số trong một hàm bằng cách sử dụng dấu ngoặc đơn như hình dưới đây.

add =(a,b) ->
  c=a+b
  console.log "Sum of the two numbers is: "+c

Khi biên dịch tệp CoffeeScript ở trên, nó sẽ tạo ra JavaScript sau.

// Generated by CoffeeScript 1.10.0
(function() {
  var add;

  add = function(a, b) {
    var c;
    c = a + b;
    return console.log("Sum of the two numbers is: " + c);
  };

}).call(this);

Gọi một hàm

Sau khi xác định một hàm, chúng ta cần gọi hàm đó. Bạn có thể chỉ cần gọi một hàm bằng cách đặt dấu ngoặc đơn sau tên của nó như thể hiện trong ví dụ sau.

add = ->
  a=20;b=30
  c=a+b
  console.log "Sum of the two numbers is: "+c  
add()

Khi biên dịch, ví dụ trên cung cấp cho bạn JavaScript sau

// Generated by CoffeeScript 1.10.0
(function() {
  var add;

  add = function() {
    var a, b, c;
    a = 20;
    b = 30;
    c = a + b;
    return console.log("Sum of the two numbers is: " + c);
  };
  add();
}).call(this);

Khi thực thi mã CoffeeScript ở trên, nó tạo ra kết quả sau.

Sum of the two numbers is: 50

Gọi hàm bằng đối số

Theo cách tương tự, chúng ta có thể gọi một hàm với các đối số bằng cách chuyển chúng cho nó như hình dưới đây.

my_function argument_1,argument_2
or
my_function (argument_1,argument_2)

Note - Trong khi gọi một hàm bằng cách truyền các đối số cho nó, việc sử dụng dấu ngoặc đơn là tùy chọn.

Trong ví dụ sau, chúng tôi đã tạo một hàm có tên add() chấp nhận hai tham số và chúng tôi đã gọi nó.

add =(a,b) ->
  c=a+b
  console.log "Sum of the two numbers is: "+c
add 10,20

Khi biên dịch, ví dụ trên cung cấp cho bạn JavaScript sau.

// Generated by CoffeeScript 1.10.0
(function() {
  var add;

  add = function(a, b) {
    var c;
    c = a + b;
    return console.log("Sum of the two numbers is: " + c);
  };

  add(10, 20);

}).call(this);

Khi thực thi, mã CoffeeScript trên, nó tạo ra kết quả sau.

Sum of the two numbers is: 30

Đối số mặc định

CoffeeScript cũng hỗ trợ các đối số mặc định. Chúng ta có thể gán giá trị mặc định cho các đối số của một hàm, như thể hiện trong ví dụ sau.

add =(a = 1, b = 2) ->
  c=a+b
  console.log "Sum of the two numbers is: "+c
add 10,20

#Calling the function with default arguments
add()

Khi biên dịch, CoffeeScript ở trên tạo tệp JavaScript sau.

// Generated by CoffeeScript 1.10.0
(function() {
  var add;

  add = function(a, b) {
    var c;
    if (a == null) {
      a = 1;
    }
    if (b == null) {
      b = 2;
    }
    c = a + b;
    return console.log("Sum of the two numbers is: " + c);
  };

  add(10, 20);
  add()

}).call(this);

Khi thực thi mã CoffeeScript ở trên, nó tạo ra kết quả sau.

Sum of the two numbers is: 30
Sum of the two numbers is: 3