【问题标题】:Variable scope: name being passed between functions?变量范围:函数之间传递的名称?
【发布时间】:2012-07-11 16:52:05
【问题描述】:

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

    }

【问题讨论】:

标签: javascript jquery scope


【解决方案1】:

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

  var checked = 0;

【讨论】:

  • 我不知道我是如何在不知情的情况下做到这一点的。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-21
  • 1970-01-01
  • 2017-03-01
  • 2020-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多