Bạn có thể gán các hàm cho các biến (vì trong JS bạn có thể chuyển các hàm như thể chúng là dữ liệu thuần túy), như trong Show
Ngoài ra, các biến trong JS không có kiểu. Một biến trước đây chứa một số không quan tâm nếu bạn gán cho nó một chuỗi hoặc mảng hoặc một hàm Khi bạn thay đổi nó thành 0 hoặc chúng ta có thể viết nó có một trình xử lý (gọi lại) trong trình xử lý sự kiện, (giả sử chúng ta có một phần tử nút với id=”click-me”),
Chúng tôi gọi nó là một biểu thức vì nó không phải là một câu lệnh và nó cần một ngữ cảnh hoặc một nhiệm vụ Hàm được khai báo hơi khác một chút ở chỗ nó là một câu lệnh hoàn chỉnh ngay lập tức
Dạng hàm này là bất biến, nghĩa là không thể thay đổi. 1 được khắc ghi trong ký ức và không thể được giao nhiệm vụ mới. 2 ở trên có thể được giao nhiệm vụ mới bất cứ lúc nàoĐể tìm hiểu thêm về điều này, hãy tìm kiếm, 'khai báo hàm so với biểu thức hàm' và để ý đến thuật ngữ, 'hoisting' để bạn biết cách nó phù hợp với bức tranh này Qua một bên. 3 là từ dành riêng trong JavaScript và chúng tôi không thể sử dụng nó trong ngữ cảnh cửa sổ chung, chỉ bên trong một hàm hoặc dưới dạng thuộc tính đối tượng. Tìm kiếm 4 và bạn có thể tìm thấy điều gì đó về điều này Các chức năng được khai báo không được thực thi ngay lập tức. Chúng được "lưu để sử dụng sau" và sẽ được thực thi sau, khi chúng được gọi (được gọi) Dấu chấm phẩy được sử dụng để phân tách các câu lệnh JavaScript thực thi. Biểu thức hàmHàm JavaScript cũng có thể được xác định bằng biểu thức Một biểu thức chức năng có thể được lưu trữ trong một biến Sau khi một biểu thức hàm đã được lưu trữ trong một biến, biến đó có thể được sử dụng như một hàm Chức năng trên thực sự là một chức năng ẩn danh (một chức năng không có tên) Các hàm được lưu trữ trong các biến không cần tên hàm. Chúng luôn được gọi (được gọi) bằng cách sử dụng tên biến Hàm trên kết thúc bằng dấu chấm phẩy vì nó là một phần của câu lệnh thực thi Hàm xây dựng ()Như bạn đã thấy trong các ví dụ trước, các hàm JavaScript được định nghĩa bằng từ khóa 5Các hàm cũng có thể được xác định bằng hàm tạo hàm JavaScript tích hợp có tên là 6Thí dụconst myFunction = new Function("a", "b", "return a * b"); cho x = myFunction(4, 3); Tự mình thử »Bạn thực sự không phải sử dụng hàm tạo. Ví dụ trên cũng giống như cách viết Thí dụconst myFunction = function(a,b) {return a*b}; cho x = myFunction(4, 3); Tự mình thử »Hầu hết thời gian, bạn có thể tránh sử dụng từ khóa 7 trong JavaScriptcẩu chức năngTrước đó trong hướng dẫn này, bạn đã học về "hoisting" (JavaScript Hoisting) Nâng 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 khai báo biến và 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 chức năng của tôi (5); function myFunction(y) { Các chức năng được xác định bằng một biểu thức không được nâng lên Chức năng tự gọiCác biểu thức chức năng có thể được thực hiện "tự gọi" Một biểu thức tự gọi được gọi (bắt đầu) tự động mà không được gọi Các biểu thức hàm sẽ tự động thực thi nếu biểu thức được theo sau bởi () Bạn không thể tự gọi khai báo hàm Bạn phải thêm dấu ngoặc đơn xung quanh hàm để chỉ ra rằng đó là một biểu thức hàm Thí dụ(function () { Chức năng trên thực sự là một chức năng tự gọi ẩn danh (hàm không có tên) Hàm có thể được sử dụng làm giá trịCác hàm JavaScript có thể được sử dụng làm giá trị Thí dụfunction myFunction(a, b) { cho x = myFunction(4, 3); Tự mình thử »Các hàm JavaScript có thể được sử dụng trong các biểu thức Thí dụfunction myFunction(a, b) { đặt x = myFunction(4, 3) * 2; Tự mình thử »Chức năng là đối tượngToán tử 8 trong JavaScript trả về "hàm" cho các hàmTuy nhiên, các hàm JavaScript tốt nhất có thể được mô tả dưới dạng các đối tượng Hàm JavaScript có cả thuộc tính và phương thức Thuộc tính 9 trả về số đối số nhận được khi hàm được gọiPhương thức Thí dụfunction myFunction(a, b) { hãy để văn bản = myFunction. toString(); Tự mình thử »Một hàm được định nghĩa là thuộc tính của một đối tượng, được gọi là một phương thức đối với đối tượng. Hàm mũi tênCác hàm mũi tên cho phép một cú pháp ngắn để viết các biểu thức hàm Bạn không cần từ khóa 5, từ khóa var f = function() {...}; 2 và dấu ngoặc nhọnThí dụ// ES5 // ES6 Các hàm mũi tên không có Các chức năng mũi tên không được nâng lên. Chúng phải được xác định trước khi chúng được sử dụng Sử dụng 50 an toàn hơn sử dụng 51, vì biểu thức hàm luôn có giá trị không đổiBạn chỉ có thể bỏ qua từ khóa Tôi có thể gán một hàm cho một biến JavaScript không?Người lập trình có thể tạo một biến duy nhất bằng cách sử dụng các từ khóa var, let hoặc const và gán biểu thức hàm cho biến đó . Tuy nhiên, nên tạo một biến với từ khóa const để gán hàm vì biểu thức hàm luôn không đổi.
Tôi có thể gán một chức năng cho một biến không?Trong Python, chúng ta có thể gán một hàm cho một biến . Và sử dụng biến đó, chúng ta có thể gọi hàm bao nhiêu lần chúng ta muốn. Qua đó, tăng khả năng sử dụng lại code. Chỉ cần gán một hàm cho biến mong muốn nhưng không có () i. e. chỉ với tên của chức năng.
Điều gì xảy ra khi bạn gán một hàm cho một biến trong JavaScript?Khi bạn gán một đối tượng hàm cho một biến khác, JavaScript không tạo bản sao mới của hàm. Thay vào đó nó làm cho biến mới tham chiếu cùng một đối tượng hàm như ban đầu . Chỉ là hai biến có tên khác nhau đang truy cập cùng một đối tượng hàm cơ bản.
Bạn có thể lưu trữ các hàm trong một biến không?Các hàm được lưu trong biến không cần tên hàm . Chúng luôn được gọi (được gọi) bằng cách sử dụng tên biến. Hàm trên kết thúc bằng dấu chấm phẩy vì nó là một phần của câu lệnh thực thi. |