Ví dụ. Chức năng như tham số
đầu ra Show
Hello John Hello Jack Hello Sara Trong chương trình trên có hai hàm. 0 và 1
Các tham số chức năng mặc định cho phép các tham số đã đặt tên được khởi tạo với các giá trị mặc định nếu không có giá trị nào hoặc 3 được truyền
Trong JavaScript, tham số hàm mặc định là 3. Tuy nhiên, thường hữu ích khi đặt một giá trị mặc định khác. Đây là nơi các tham số mặc định có thể giúp íchTrong ví dụ sau, nếu không có giá trị nào được cung cấp cho 5 khi 6 được gọi, thì giá trị của 5 sẽ là 3 khi đánh giá 9 và 6 sẽ trả về Hello John Hello Jack Hello Sara11
Trước đây, chiến lược chung để đặt giá trị mặc định là kiểm tra các giá trị tham số trong thân hàm và gán giá trị nếu chúng là 3. Trong ví dụ sau, 5 được đặt thành Hello John Hello Jack Hello Sara14 nếu 6 được gọi chỉ với một đối sốHello John Hello Jack Hello Sara1 Với các tham số mặc định, việc kiểm tra trong thân hàm không còn cần thiết nữa. Bây giờ, bạn có thể gán Hello John Hello Jack Hello Sara14 làm giá trị mặc định cho 5 trong hàm head 0Các tham số vẫn được đặt từ trái sang phải, ghi đè các tham số mặc định ngay cả khi có các tham số sau này không có giá trị mặc định 1Ghi chú. Các tham số sau tham số mặc định đầu tiên sẽ không đóng góp vào hàm Hello John Hello Jack Hello Sara18 Trình khởi tạo tham số mặc định sống trong phạm vi riêng của chúng, là cha của phạm vi được tạo cho thân hàm Điều này có nghĩa là các tham số trước đó có thể được tham chiếu trong phần khởi tạo của các tham số sau này. Tuy nhiên, các hàm và biến được khai báo trong thân hàm không thể được tham chiếu từ các bộ khởi tạo tham số giá trị mặc định; . Điều này cũng bao gồm các biến được khai báo 00 trong thân hàmVí dụ: hàm sau sẽ đưa ra một giá trị Hello John Hello Jack Hello Sara19 khi được gọi, vì giá trị tham số mặc định không có quyền truy cập vào phạm vi con của thân hàm 6Hàm này sẽ in giá trị của tham số 02, vì biến 03 chỉ được nâng lên đầu phạm vi được tạo cho thân hàm, không phải phạm vi cha được tạo cho danh sách tham số, vì vậy giá trị của nó không hiển thị với 5 0Trong lệnh gọi thứ hai trong ví dụ này, ngay cả khi đối số đầu tiên được đặt rõ ràng thành 3 (mặc dù không phải là 06 hoặc các giá trị giả khác), giá trị của đối số 07 vẫn là giá trị mặc định 4Đối số mặc định được đánh giá tại thời điểm gọi. Không giống như Python (ví dụ), một đối tượng mới được tạo mỗi khi hàm được gọi 5Điều này thậm chí áp dụng cho các hàm và biến 6Các tham số được xác định trước đó (ở bên trái) có sẵn cho các tham số mặc định sau này 0Chức năng này có thể được tính gần đúng như thế này, điều này cho thấy có bao nhiêu trường hợp cạnh được xử lý 1Bạn có thể sử dụng phép gán giá trị mặc định với cú pháp gán phá hủy Một cách phổ biến để làm điều đó là đặt một đối tượng/mảng trống làm giá trị mặc định cho tham số bị hủy cấu trúc; . 08. Điều này giúp có thể không chuyển gì cho hàm mà vẫn có các giá trị đó được điền sẵn
Làm cách nào để chuyển một tham số trong hàm JavaScript mà không gọi nó?Thử sử dụng bind(). . tham số phương thức đầu tiên của bạn được chuyển thành tham số thứ hai trong liên kết, tham số phương thức thứ hai của bạn được chuyển thành tham số thứ ba trong liên kết, Bạn có thể chuyển một hàm dưới dạng tham số JavaScript không?Việc truyền một hàm làm đối số cho hàm khá giống với việc truyền biến làm đối số cho hàm . vì vậy các biến có thể được trả về từ một hàm. Các ví dụ dưới đây mô tả việc truyền một hàm dưới dạng tham số cho một hàm khác.
Bạn có thể sử dụng một hàm làm tham số của một hàm khác không?Bạn có thể sử dụng các núm điều khiển hàm làm đối số đầu vào cho các hàm khác , được gọi là các hàm chức năng. Các hàm này đánh giá các biểu thức toán học trên một phạm vi giá trị.
Làm cách nào để chuyển giá trị biến từ hàm này sang hàm khác trong JavaScript?Khi có nhiều chức năng (hầu hết thời gian), cần có một cách để truyền dữ liệu giữa các chức năng. Điều này được thực hiện bằng cách chuyển các giá trị trong ngoặc đơn. myFunction(myData) . Ngay cả khi không có dữ liệu nào được truyền vào, chúng ta vẫn phải khai báo và thực thi các hàm bằng cách sử dụng dấu ngoặc đơn. myFunction(). |