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

varキーワードを忘れたため、変数「checked」はグローバルです。

  var checked = 0;
于 2012-07-11T16:54:16.393 に答える