Câu hỏi phỏng vấn Javascript
Câu hỏi

Kết quả đoạn code sau là gì? Hãy giải thích tại sao?

Câu trả lời
  const add = () => {
    const cache = {};
    return (num) => {
      if (num in cache) {
        return `From cache! ${cache[num]}`;
      } else {
        const result = num + 10;
        cache[num] = result;
        return `Calculated! ${result}`;
      }
    };
  };

  const addFunction = add(); console.log(addFunction(10)); console.log(addFunction(10)); console.log(addFunction(5 * 2));
  • A: Calculated! 20 Calculated! 20 Calculated! 20
  • B: Calculated! 20 From cache! 20 Calculated! 20
  • C: Calculated! 20 From cache! 20 From cache! 20
  • D: Calculated! 20 From cache! 20 Error

Đáp án: C

Hàm add chính là một hàm memoized (hàm có nhớ). Với việc có nhớ, chúng ta có thể cache lại kết quả của function để tăng tốc độ tính toán lên. Trong trường hợp này, chúng ta tạo ra một cache object để lưu trữ những...

middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Bạn biết những cách nào để lặp quả các phần tử của mảng trong Javascript?

middle

Sự khác biệt giữa .call.apply là gì?

middle

Sử dụng method nào được trả về với log '{ name: "Lydia", age: 22 }'?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào