Kết quả đoạn code sau là:
function withVar() {
const b = () => a;
var a = 24;
return b;
}
function withLet() {
const b = () => a;
let a = 24;
return b;
}
function changingValue() {
let a = 24;
const b = () => a;
a = 42;
return b;
}
console.log(withVar()()); // ??
console.log(withLet()()); // ??
console.log(changingValue()()); // ??
function withVar() {
const b = () => a;
var a = 24;
return b;
}
function withLet() {
const b = () => a;
let a = 24;
return b;
}
function changingValue() {
let a = 24;
const b = () => a;
a = 42;
return b;
}
console.log(withVar()()); // ??
console.log(withLet()()); // ??
console.log(changingValue()()); // ??
Chính xác
Xem lời giải
Suy nghĩ trả lời câu hỏi trước khi xem đáp án
ATNETWORK
Lời giải:
Báo saiClosure là khi một inner function có thể ghi nhớ và truy cập đến các thành phần ở scope của outer function, thậm chí outer function đã thực thi xong. Ở trong ba ví dụ trên, thì function b vẫn ghi nhớ và truy cập đến biến a ở bên ngoài scope của nó, mặc dù các outer function đã được thực thi xong.
Câu hỏi này thuộc ngân hàng trắc nghiệm dưới đây, bấm vào Xem chi tiết để làm toàn bài
250 Câu hỏi trắc nghiệm Javascript, CSS, HTML có đáp án
Tổng hợp 250 câu hỏi trắc nghiệm Javascript có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.
ADMICRO
YOMEDIA
ZUNIA9