Hướng dẫn入门 JavaScript Functions

Xin chào các bạnfuture JavaScript developers! Tôi rất vui mừng được làm hướng dẫn viên của bạn trong hành trình thú vị vào thế giới của JavaScript functions. Là một người đã dạy lập trình trong nhiều năm, tôi có thể告诉 bạn rằng các hàm giống như những chiếc dao quân đội Thụy Sĩ của lập trình - linh hoạt, mạnh mẽ và hoàn toàn cần thiết. Vậy, chúng ta hãy cùng bắt đầu!

JavaScript - Functions

什么是函数?

Hãy tưởng tượng các hàm như những chiếc máy nhỏ thực hiện các nhiệm vụ cụ thể. Bạn cho thứ gì đó vào, nó thực hiện một số công việc và thường trả lại cho bạn một thứ gì đó. Nó giống như một máy nướng bánh mì - bạn cho bánh mì vào, nó nướng nó và trả lại cho bạn bánh mì giòn, ngon lành!

Định nghĩa hàm

Hãy bắt đầu bằng cách học cách tạo ra, hoặc "định nghĩa", một hàm:

function greetStudent(name) {
console.log("Hello, " + name + "! Welcome to JavaScript class!");
}

Đây là những gì đang xảy ra:

  1. Chúng ta sử dụng từ khóa function để cho JavaScript biết chúng ta đang tạo một hàm.
  2. Chúng ta đặt tên cho nó (greetStudent trong trường hợp này).
  3. Trong dấu ngoặc, chúng ta liệt kê bất kỳ thông tin nào mà hàm cần (gọi là "tham số").
  4. Trong dấu {}, chúng ta viết mã mà hàm sẽ thực thi.

Gọi một hàm

Định nghĩa một hàm giống như viết một công thức nấu ăn. Nhưng để thực sự sử dụng nó, chúng ta cần "gọi" hàm:

greetStudent("Alice");
// Output: Hello, Alice! Welcome to JavaScript class!

greetStudent("Bob");
// Output: Hello, Bob! Welcome to JavaScript class!

Thấy chưa, chúng ta có thể sử dụng cùng một hàm với các tên khác nhau? Đó là sức mạnh của các hàm - viết một lần, sử dụng nhiều lần!

Tham số của hàm

Tham số giống như các nguyên liệu trong một công thức. Đó là thông tin bạn cung cấp cho hàm để nó có thể thực hiện công việc của mình. Hãy xem một ví dụ phức tạp hơn:

function calculateArea(length, width) {
let area = length * width;
console.log("The area is: " + area + " square units");
}

calculateArea(5, 3);
// Output: The area is: 15 square units

calculateArea(10, 7);
// Output: The area is: 70 square units

Trong ví dụ này, lengthwidth là các tham số. Chúng ta có thể truyền các giá trị khác nhau mỗi khi chúng ta gọi hàm, làm cho nó rất linh hoạt!

Lệnh return

Đôi khi, chúng ta muốn hàm của mình trả lại một giá trị mà chúng ta có thể sử dụng sau này. Đó là nơi return xuất hiện:

function addNumbers(a, b) {
return a + b;
}

let sum = addNumbers(5, 3);
console.log("The sum is: " + sum);
// Output: The sum is: 8

let anotherSum = addNumbers(10, 20);
console.log("Another sum is: " + anotherSum);
// Output: Another sum is: 30

Lệnh return gửi một giá trị zurück đến nơi hàm được gọi. Điều này cho phép chúng ta sử dụng kết quả trong các phần khác của mã của mình.

Hàm như giá trị của biến

Đây là một điều khó tin: trong JavaScript, các hàm có thể được đối xử như các giá trị! Chúng ta có thể lưu trữ chúng trong các biến, truyền chúng cho các hàm khác, hoặc thậm chí trả lại chúng từ các hàm. Hãy xem nhé:

let greet = function(name) {
console.log("Hi there, " + name + "!");
};

greet("Charlie");
// Output: Hi there, Charlie!

let sayHello = greet;
sayHello("Dana");
// Output: Hi there, Dana!

Điều này được gọi là "biểu thức hàm". Nó giống như lưu một công thức trong một cuốn sách nấu ăn - bạn có thể sử dụng nó bất cứ khi nào bạn muốn!

Các phương thức hàm phổ biến

Dưới đây là bảng một số phương thức hàm phổ biến trong JavaScript:

Phương thức Mô tả Ví dụ
call() Gọi một hàm với một this giá trị và các đối số được cung cấp riêng lẻ greet.call(null, "Eve")
apply() Gọi một hàm với một this giá trị và các đối số được cung cấp dưới dạng một mảng greet.apply(null, ["Frank"])
bind() Tạo một hàm mới mà khi được gọi, có this từ khóa được đặt thành giá trị được cung cấp let boundGreet = greet.bind(null, "Grace")

Những phương thức này cho bạn thêm linh hoạt trong cách bạn sử dụng các hàm, nhưng đừng lo lắng nếu chúng có vẻ phức tạp bây giờ. Chúng ta sẽ cover chúng sâu hơn sau này!

Kết luận

Chúc mừng! Bạn đã chính thức bước vào thế giới kỳ diệu của JavaScript functions. Nhớ rằng, thực hành làm cho hoàn hảo, vì vậy đừng ngại thử nghiệm với những gì bạn đã học. Hãy thử tạo ra các hàm của riêng bạn, chơi với các tham số và giá trị trả lại, và xem bạn có thể tạo ra điều gì!

Trong những năm dạy học của tôi, tôi đã thấy rất nhiều học sinh đi từ sự困惑 đến sự tự tin với các hàm. Nó giống như nhìn thấy một bóng đèn sáng lên - đột nhiên, mọi thứ bắt đầu có ý nghĩa. Vậy hãy tiếp tục cố gắng, và trước khi bạn biết, bạn sẽ viết các hàm trong giấc ngủ (mặc dù tôi không khuyến khích lập trình khi đang ngủ - tôi đã thử, và kết quả là... rất thú vị, phải nói thế!).

Chúc các bạn lập trình vui vẻ, và gặp lại các bạn trong bài học tiếp theo!

Credits: Image by storyset