OK, đây là lái xe cho tôi điên:Bạn đã bao giờ thấy hành vi/lỗi IE JavaScript lạ này chưa?
ví dụ đầu tiên, không có vấn đề:
<script>
window.myvar = 150;
if (false) {
var myvar = 3;
}
// This will popup "150"
alert(myvar)
</script>
Bây giờ, với hai yếu tố kịch bản:
<script>
window.myvar = 150;
</script>
<script>
if (false) {
var myvar = 3;
}
// This will popup "undefined"
alert(myvar)
</script>
Thử nghiệm với IE8.
Bạn có biết tại sao không?
bạn có thể vui lòng kiểm tra xem mã tại http://tinypaste.com/49c80 hiển thị lỗi tương tự như trên, vì vậy tôi có thể trả lời câu hỏi của bạn? Tôi không thể kiểm tra vì hiện tại tôi không sử dụng hộp Windows của mình. Ad @ m – kirb
Tôi ước tôi có IE8 để kiểm tra ngay bây giờ. Âm thanh như định nghĩa của 'myvar' đang được treo lên và che khuất thuộc tính của' cửa sổ'. – alex
@adam kiểm tra mã OK trong IE7/8, nó cảnh báo 100 – clairesuzy