thể trùng lặp:
JavaScript Variable ScopeTôi có thể khai báo cùng một biến hai lần khác nhau cho các vòng trong JavaScript không?
Tôi có một hàm JavaScript cho các tùy chọn chọn HTML cho ngày:
// Show and hide days according to the selected year and month.
function show_and_hide_days(fp_form) {
var select_year= $(fp_form).find("select.value_year");
var select_month= $(fp_form).find("select.value_month");
var select_day= $(fp_form).find("select.value_day");
var selected_year= $.parse_int($(select_year).val());
var selected_month= $.parse_int($(select_month).val());
var selected_day= $.parse_int($(select_day).val());
var days_in_month= new Date(selected_year, selected_month, 0).getDate();
// If the number of days in the selected month is less than 28, change it to 31.
if (!(days_in_month >= 28))
{
days_in_month= 31;
}
// If the selected day is bigger than the number of days in the selected month, reduce it to the last day in this month.
if (selected_day > days_in_month)
{
selected_day= days_in_month;
}
// Remove days 29 to 31, then append days 29 to days_in_month.
for (var day= 31; day >= 29; day--)
{
$(select_day).find("option[value='" + day + "']").remove();
}
for (var day= 29; day <= days_in_month; day++)
{
$(select_day).append("<option value=\"" + day + "\">" + day + "</option>");
}
// Restore the selected day.
$(select_day).val(selected_day);
}
Câu hỏi của tôi là - tôi có thể tuyên bố "var ngày" hai lần trong hai vòng lặp khác nhau và phạm vi của biến này là gì? Là nó hợp pháp và những gì sẽ xảy ra nếu tôi tuyên bố cùng một biến hai lần trong cùng một chức năng? (bên trong cho vòng hoặc bên ngoài cho vòng)? Ví dụ, điều gì xảy ra nếu tôi khai báo một trong các biến một lần nữa với "var"?
Nếu tôi không sử dụng "var" trước khi biến ngày trong vòng, điều gì sẽ xảy ra?
Xin cảm ơn, Uri.
P.S. $ .parse_int là một plugin jQuery gọi parseInt với radix 10 nếu không được chỉ định.
Bạn có thể tự mình thử nghiệm. Chỉ cần thử và xem những gì sẽ xảy ra! –