HomeLập trìnhJavaScriptBiểu thức chức...

Biểu thức chức năng được gọi ngay lập tức là gì?


Tuyên bố chức năng

Một hàm được tạo bằng một khai báo hàm là một đối tượng Hàm và có tất cả các thuộc tính, phương thức và hành vi của các đối tượng Hàm. Ví dụ:

  function statement(item){
    console.log('Function statement example '+ item);
  }

Biểu thức hàm

Biểu thức hàm tương tự như câu lệnh hàm ngoại trừ tên hàm có thể được bỏ qua để tạo hàm ẩn danh. Ví dụ:

  var expression = function (item){
    console.log('Function expression example '+ item);
  }

Ngay sau khi chức năng được tạo, nó sẽ tự gọi không cần phải gọi rõ ràng. Trong ví dụ dưới đây, biến iife sẽ lưu trữ một chuỗi được trả về khi thực thi hàm.

  var iife = function (){
    return 'Immediately Invoked Function Expressions(IIFEs) example ';
  }();
  console.log(iife); // 'Immediately Invoked Function Expressions(IIFEs) example '

Câu lệnh trước IIFE phải luôn kết thúc bằng dấu ; hoặc nó sẽ ném một lỗi.

Ví dụ tồi:

var x = 2 //no semicolon, will throw error
(function(y){
  return x;
})(x); //Uncaught TypeError: 2 is not a function
  (function(value){
    var greet="Hello";
    console.log(greet+ ' ' + value);
  })('IIFEs');

Trong ví dụ trên khi công cụ javascript thực thi đoạn mã trên, nó sẽ tạo ngữ cảnh thực thi toàn cầu khi nó nhìn thấy mã và tạo đối tượng hàm trong bộ nhớ cho IIFE. Và khi nó đạt được trên đường dây 46 do chức năng nào được gọi, một bối cảnh thực thi mới được tạo ra một cách nhanh chóng và do đó, biến hello đi vào bối cảnh thực thi chức năng đó chứ không phải vào toàn cầu, đây là điều làm cho nó trở nên độc đáo. This ensures that code inside IIFE does not interfere with other code or be interfered by another code và vì vậy mã là an toàn.

Đọc thêm  Hãy làm sáng tỏ từ khóa 'mới' của JavaScript

Thêm thông tin



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status