我有一个函数,我在另一个函数中调用。它返回一个名为“checked”的变量,但该名称不是全局的,并且仅在该函数的范围内。
我的另一个函数有自己的局部变量叫做'checked',但是当我尝试将它设置为1时,它总是返回0。
我发现如果我删除了对第一个函数的函数调用,那么它将获得正确的值。
当两个变量的范围对于它们所在的函数是局部的时,这怎么可能?
function filterRadioCheck()
{
checked = 0;
$('#filterType').children('input').each(function() {
if ($(this).attr('checked'))
{
checked = $(this).attr('value');
}
});
return checked;
}
function setTagDefaultMode()
{
checked = 1;
radiocheck = filterRadioCheck();
//******'checked' is always 0 after this point*****///
// alert(checked) will return 0 even though checked it is set to 1 above;
}
答案 0 :(得分:5)
变量“已选中”是全局变量,因为您忘记了var
关键字。
var checked = 0;