tôi đang làm một số thử nghiệm với dòng này JavaScript độc hại: var undefined = true;
var undefined = true;
Mỗi biến chưa được khởi trong JavaScript có giá trị của undefined
mà chỉ là một biến chứa các giá trị đặc biệt của 'undefined'
, vì vậy sau đây cần thực hiện alert
:
var undefined = true,
x;
if (x) {
alert('ok');
}
Nhưng không, và câu hỏi của tôi là lý do tại sao?
Mở thử nghiệm hơn nữa, tôi thử như sau:
var undefined = true,
x = undefined;
if (x) {
alert('ok');
}
Thời gian này, alert
được thực thi.
Vì vậy, câu hỏi của tôi là ... vì trong đoạn đầu tiên x
giữ undefined
(vì nó không được khởi tạo), tại sao không thực hiện alert
? Điều kỳ lạ là khi tuyên bố rõ ràng rằng x
là undefined
(x = undefined
), các alert
thực hiện ...
Hehe; điều gì sẽ xảy ra nếu biến 'undefined' là giá trị' undefined'? – Pindatjuh
@Pindatjuh: giống như biến có bất kỳ tên nào khác. Không có gì đặc biệt về một biến có tên là 'undefined'. – dtb