如何在变量中存储函数的返回值?

时间:2014-10-19 20:31:13

标签: jquery

我是jQuery的新手并拥有此功能:

var numberOfItems = function() {
  $('.item_fields input[type="hidden"]').filter(function() {
    return $.trim($(this).val()) == 'false';
  }).length; 
}

当我用alert(numberOfItems);调用它而不是输出一个整数时,它会输出函数 code 本身:

function() {
  $('.item_fields input[type="hidden"]').filter(function() {
    return $.trim($(this).val()) == 'false';
  }).length; 
}

我想我一定错过了一些非常重要的东西吗?

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

  1. 除非您将return放在最后一个(仅在本例中)语句的开头,否则您的函数不会返回任何内容。

  2. 您需要调用函数来获取其返回值。 numberOfItems只是“提及”这个功能;它的值是函数对象。 numberOfItems()正在调用该函数。 ()是调用带参数的函数的运算符。

答案 1 :(得分:1)

从函数返回一个值:

var numberOfItems = function() {
  return $('.item_fields input[type="hidden"]').filter(function() {
    return $.trim($(this).val()) == 'false';
  }).length; 
};

然后调用这个函数:

 alert( numberOfItems() );