Powiel możliwe:
JavaScript Variable ScopeCzy mogę zadeklarować tę samą zmienną dwa razy w różnych pętlach w JavaScript?
Mam funkcji JavaScript dla HTML Wybierz opcje dniach:
// 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);
}
Moje pytanie brzmi - czy mogę zadeklarować "var dzień" dwa razy w dwóch różnych pętlach i jaki jest zakres tej zmiennej? Czy to jest legalne i co się stanie, jeśli zadeklaruję tę samą zmienną dwukrotnie w tej samej funkcji? (wewnątrz dla pętli lub na zewnątrz dla pętli)? Na przykład, co się stanie, jeśli zadeklaruję jedną ze zmiennych ponownie za pomocą "var"?
Jeśli nie używam "var" w ogóle przed zmiennym dniem w pętli, co się stanie?
Dzięki, Uri.
P.S. $ .parse_int to wtyczka jQuery, która wywołuje parseInt z podstawą 10, jeśli nie jest podana.
Możesz samemu sprawdzić. Po prostu spróbuj zobaczyć, co się stanie! –