2

我有一个在另一个函数中调用的函数。它返回一个名为“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;

    }
4

1 回答 1

5

变量“checked”是全局变量,因为您忘记了var关键字。

  var checked = 0;
于 2012-07-11T16:54:16.393 回答