变量范围:函数之间传递的名称?

时间:2012-07-11 16:52:05

标签: javascript jquery scope

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

    }

1 个答案:

答案 0 :(得分:5)

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

  var checked = 0;