Tôi không hiểu những gì là sai. Tôi có ba mã:
Đầu tiên:setInterval bên trong một hàm sản xuất một lỗi: biến không được xác định
<script language="JavaScript" type="text/javascript">
var count = 0;
alert(count);
var timer = setInterval("count = count + 1; alert(count);",10000);
</script>
Thứ hai:
<script language="JavaScript" type="text/javascript">
function countdown()
{
var count = 0;
alert(count);
var timer = setInterval("count = count + 1; alert(count);",10000);
}
countdown();
</script>
Thứ ba:
<script language="JavaScript" type="text/javascript">
var count = 0;
function countdown()
{
alert(count);
var timer = setInterval("count = count + 1; alert(count);",10000);
}
countdown();
</script>
Mã đầu tiên hoạt động tốt, thứ hai tạo ra một lỗi trong dòng "setInterval": "đếm không được xác định" và mã thứ ba hoạt động tốt trở lại. Phạm vi của biến "đếm" phải là toàn cục cho hàm setInterval trong mã thứ hai. Tại sao nó không? Tôi đang sử dụng Mozilla Firefox. Cảm ơn.
Bạn chỉ tìm thấy một trong những lý do tại sao bạn không nên sử dụng chuỗi làm gọi lại cho setInterval/setTimeout. Hãy xem các câu hỏi liên quan ở bên phải, tôi đặt cược một nửa trong số họ chia sẻ cùng một vấn đề. – Yoshi