2
我有一个函数,我调用另一个函数。它返回一个名为“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;
}
http://blog.niftysnippets.org/2008/03/horror-of-implicit-globals.html – jbabey 2012-07-11 16:56:15