Kết quả của chương trình Javacript sau đây là gì?
function sayHi() { console.log(name); console.log(age); var name = "Lydia"; let age = 21; } sayHi();
A: Lydia and undefined
B: Lydia and ReferenceError
C: ReferenceError and 21
D: undefined and ReferenceError
Câu trả lời (1)
-
Đáp án: D
Bên trong Function này, trước tiên chúng ta khai báo biến name bằng từ khóa var. Điều này có nghĩa là hoisting đã xảy ra (không gian bộ nhớ được thiết lập trong giai đoạn tạo, nhưng chưa thực hiện phép gán giá trị) với giá trị mặc định là undefined, tiếp sau đó chúng ta mới thực sự định nghĩa biến name.
Trước khi cố gắng log biến name thì chúng ta chưa hề định nghĩa biến name nào, vì hoisting xảy ra và biến name giữ giá trị là undefined.
Các biến với từ khóa let (và const) cũng được hoisting, nhưng không giống như từ khóa var, chúng không thể truy cập trước khi chúng thực sự được khởi tạo.
Đây được gọi là "Vùng chết tạm thời". Do đó, khi cố gắng truy cập các biến này trước khi được khai báo. Javascript sẽ ném ra ReferenceError.
bởi Choco Choco 15/11/2021Like (0) Báo cáo sai phạm
Nếu bạn hỏi, bạn chỉ thu về một câu trả lời.
Nhưng khi bạn suy nghĩ trả lời, bạn sẽ thu về gấp bội!
Lưu ý: Các trường hợp cố tình spam câu trả lời hoặc bị báo xấu trên 5 lần sẽ bị khóa tài khoản
Các câu hỏi mới
-
A. Nhất định phải có phần khai báo.
B. Không cần có phần khai báo.
C. Chỉ khai báo khi dùng hàm toán học.
D. Chỉ khai báo khi chương trình có sử dụng đến thư viện chương trình con nào đó.
21/11/2022 | 1 Trả lời
-
20/11/2022 | 1 Trả lời
-
21/11/2022 | 1 Trả lời
-
ADMICRO
A. PI:=3.14
B. PI:3.14
C. PI=3.14
D. PI 3.14
21/11/2022 | 1 Trả lời
-
21/11/2022 | 1 Trả lời
-
20/11/2022 | 1 Trả lời
-
21/11/2022 | 1 Trả lời
-
A. Python quy định mỗi câu lệnh nên được viết trên một dòng riêng biệt, kết thúc bằng dấu “;”.
B. Python quy định các câu lệnh nên được viết trên một dòng.
C. Python quy định các câu lệnh nên được viết trên một dòng, kết thúc bằng dấu “;”
D. Python quy định mỗi câu lệnh nên được viết trên một dòng riêng biệt.
20/11/2022 | 1 Trả lời
-
A. Tất cả các biến dùng trong chương trình đều phải đặt tên cho chương trình dịch biết để lưu trữ và xử lí.
B. Tất cả các biến dùng trong chương trình không cần phải đặt tên.
C. Python có quy định chặt chẽ phải có phần khai báo và phần thân chương trình như Pascal.
D. Python yêu cầu sử dụng dấu “;” khi kết thúc câu lệnh.
21/11/2022 | 1 Trả lời
-
21/11/2022 | 1 Trả lời
-
21/11/2022 | 1 Trả lời
-
20/11/2022 | 1 Trả lời
-
20/11/2022 | 1 Trả lời
-
20/11/2022 | 1 Trả lời
-
20/11/2022 | 1 Trả lời
-
21/11/2022 | 1 Trả lời
-
21/11/2022 | 1 Trả lời
-
20/11/2022 | 1 Trả lời
-
21/11/2022 | 1 Trả lời
-
21/11/2022 | 1 Trả lời
-
A. x=5
B. x =0.2
C. x:5
D. x==5
21/11/2022 | 1 Trả lời
-
20/11/2022 | 1 Trả lời
-
a=10
print(a)
Biến a thuộc dữ liệu kiểu dữ liệu nào?
21/11/2022 | 1 Trả lời
-
b=3.5
print(b)
20/11/2022 | 1 Trả lời
-
kt=False
print(kt)
20/11/2022 | 1 Trả lời