Javascript tại sao gán chức năng cho biến

Bài viết này giải thích cách chúng ta gán một hàm đã khai báo cho một biến bất kỳ và kiểm tra xem hàm có chứa tham số hay không. Hàm được liên kết với biến có thể trả về bất kỳ giá trị nào và lưu trữ giá trị đó trong một biến;

var variable_name = function functionName(){};

Ví dụ về gán hàm cho biến bằng JavaScript trong HTML

Chúng tôi sẽ gán một hàm cho một biến checkValue sẽ xác định xem giá trị đã cho của người dùng là chẵn hay lẻ. Chức năng sẽ được kích hoạt bất cứ khi nào người dùng chèn một giá trị vào đầu vào và nhấn nút submit;



 

    
        HTML | Assign Function to Variable Example
    
 
    
 

 

 
    

Hi Users Check your choosen value is a even or odd.

Trong nguồn trang HTML ở trên, bạn có thể thấy một loại số biểu mẫu đầu vào đơn giản để lấy giá trị số nguyên từ người dùng và có một nút submit để gửi giá trị và tiến hành chức năng

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”),

document.getElementById('click-me').addEventListener('click',function () {});

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

function bar() {}

Dạng hàm này là bất biến, nghĩa là không thể thay đổi.



 

    
        HTML | Assign Function to Variable Example
    
 
    
 

 

 
    

Hi Users Check your choosen value is a even or odd.

0 được khắc ghi trong ký ức và không thể được giao nhiệm vụ mới.


 

    
        HTML | Assign Function to Variable Example
    
 
    
 

 

 
    

Hi Users Check your choosen value is a even or odd.

1 ở 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.



 

    
        HTML | Assign Function to Variable Example
    
 
    
 

 

 
    

Hi Users Check your choosen value is a even or odd.

2 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


 

    
        HTML | Assign Function to Variable Example
    
 
    
 

 

 
    

Hi Users Check your choosen value is a even or odd.

3 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.
Vì một khai báo hàm không phải là một câu lệnh thực thi nên không thường kết thúc nó bằng dấu chấm phẩy.


Biểu thức hàm

Hà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



 

    
        HTML | Assign Function to Variable Example
    
 
    
 

 

 
    

Hi Users Check your choosen value is a even or odd.

4

Cá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à



 

    
        HTML | Assign Function to Variable Example
    
 
    
 

 

 
    

Hi Users Check your choosen value is a even or odd.

5

Thí 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



 

    
        HTML | Assign Function to Variable Example
    
 
    
 

 

 
    

Hi Users Check your choosen value is a even or odd.

6 trong JavaScript


cẩu chức năng

Trướ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) {
  return y * 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ọi

Cá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 () {
  let x = "Xin chào. ";  // Tôi sẽ gọi chính mình
})();

Tự mình thử »

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) {
  return 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) {
  return a * b;
}

đặt x = myFunction(4, 3) * 2;

Tự mình thử »


Chức năng là đối tượng

Toán tử



 

    
        HTML | Assign Function to Variable Example
    
 
    
 

 

 
    

Hi Users Check your choosen value is a even or odd.

7 trong JavaScript trả về "hàm" cho các hàm

Tuy 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



 

    
        HTML | Assign Function to Variable Example
    
 
    
 

 

 
    

Hi Users Check your choosen value is a even or odd.

8 trả về số đối số nhận được khi hàm được gọi

Phương thức



 

    
        HTML | Assign Function to Variable Example
    
 
    
 

 

 
    

Hi Users Check your choosen value is a even or odd.

9 trả về hàm dưới dạng một chuỗi

Thí dụ

function myFunction(a, b) {
  return 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.
Một hàm được thiết kế để tạo đối tượng mới, được gọi là hàm tạo đối tượng.


Hàm mũi tên

Cá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



 

    
        HTML | Assign Function to Variable Example
    
 
    
 

 

 
    

Hi Users Check your choosen value is a even or odd.

4, từ khóa
document.getElementById('click-me').addEventListener('click',function () {});
1 và dấu ngoặc nhọn

Thí dụ

// ES5
var x = function(x, y) {
  return x * y;
}

// ES6
const x = (x, y) => x * y;

Tự mình thử »

Các hàm mũi tên không có

document.getElementById('click-me').addEventListener('click',function () {});
2 của riêng chúng. Chúng không phù hợp để xác định các phương thức đối tượng

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



 

    
        HTML | Assign Function to Variable Example
    
 
    
 

 

 
    

Hi Users Check your choosen value is a even or odd.

40 an toàn hơn sử dụng


 

    
        HTML | Assign Function to Variable Example
    
 
    
 

 

 
    

Hi Users Check your choosen value is a even or odd.

41, vì biểu thức hàm luôn có giá trị không đổi

Bạn chỉ có thể bỏ qua từ khóa

document.getElementById('click-me').addEventListener('click',function () {});
1 và dấu ngoặc nhọn nếu hàm là một câu lệnh đơn. Vì điều này, có thể là một thói quen tốt để luôn giữ chúng

Tại sao một chức năng được gán cho một biến?

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 mã . 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 chúng ta 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.

Tại sao bạn có thể lưu trữ hàm dưới dạng giá trị trong một biến?

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.

Chúng ta có thể sử dụng hàm làm giá trị biến trong JavaScript không?

Các biến được xác định bên trong một hàm không thể được truy cập từ bất kỳ đâu bên ngoài hàm, bởi vì biến chỉ được xác định trong phạm vi của hàm. Tuy nhiên, một hàm có thể truy cập tất cả các biến và hàm được xác định bên trong phạm vi mà nó được xác định .