Javascript

Memoization trong Javascript

Memoization trong Javascript

Memoization là một cách tối ưu hóa được sử dụng trong lập trình để giảm thiểu số lần gọi một hàm dựa vào kết quả của nó trong quá khứ.

Khi một hàm được gọi với cùng một tham số, kết quả của nó sẽ được lưu trữ và sử dụng trong tương lai để tránh việc gọi lại hàm với cùng một tham số.

Điều này giúp tăng tốc độ xử lý và giảm thiểu tài nguyên máy tính.

Ví dụ:

function slowFunction(n) {
  console.log(`calculating ${n}...`);
  return n * n;
}

const memoizedSlowFunction = (() => {
  let cache = {};
  return function(n) {
    if (n in cache) {
      console.log(`retrieving ${n} from cache...`);
      return cache[n];
    } else {
      let result = slowFunction(n);
      cache[n] = result;
      return result;
    }
  };
})();

console.log(memoizedSlowFunction(10)); //calculating 10... 100
console.log(memoizedSlowFunction(10)); //retrieving 10 from cache... 100
console.log(memoizedSlowFunction(11)); //calculating 11... 121

 


Chia sẻ bài viết:
Bình luận trực tiếp trên web
Bài viết liên quan
Hoisting trong Javascript

Hoisting trong Javascript

Hoisting là một đặc điểm của JavaScript, cho phép một biến được sử dụng trước khi được khai báo. Khi JavaScript tạo ra một scope mới, nó sẽ "nâng lên" (hoist)

04-02-2023 · Javascript · 1 phút đọc · 1071
Lỗi sử dụng hoisting sai cách

Lỗi sử dụng hoisting sai cách

Hoisting là việc tạo ra biến từ trước và gán giá trị cho nó sau. Nếu không chắc chắn về hoisting, có thể dẫn đến một số lỗi.

04-02-2023 · Javascript · 1 phút đọc · 1097
Hàm kiểm tra biến trong Javascript

Hàm kiểm tra biến trong Javascript

Một sốm hàm kiểm tra biến phổ biến trong Javscript typeof, instanceof, Array.isArray, Object.prototype.toString.call, if (variable)

05-02-2023 · Javascript · 1 phút đọc · 1105
Sai lầm khi sử dụng var thay vì let hoặc const

Sai lầm khi sử dụng var thay vì let hoặc const

Sử dụng var có thể gây nhầm lẫn về phạm vi của biến và có thể dẫn đến lỗi không mong muốn.

04-02-2023 · Javascript · 2 phút đọc · 1004