【问题标题】:javascript function expression within function函数内的javascript函数表达式
【发布时间】:2015-03-01 05:42:38
【问题描述】:

下面的工作 javascript sn-p 不包括验证,因为它仅用于学习目的。但是,我不了解在 buildBoundDetector() 函数中定义变量“isBetween”之后的事件流。为什么通过变量 'f' 传递数字有效?

function buildBoundDetector( lowerBound, upperBound ) {
    var isBetween = function(number){       
        if(lowerBound <= number && number <= upperBound){
            return true;
        }
        return false;
    }
    return isBetween;
}

var f = buildBoundDetector( 1, 100 );
f(45);

【问题讨论】:

标签: javascript function function-expression


【解决方案1】:

buildBoundDetector() 是一个返回函数的函数。在 Javascript 中,您可以将函数分配给变量。这就是buildBoundDetector() 所做的。它定义了一个匿名函数,然后将其分配给isBetween,然后返回isBetweenf 设置为 buildBoundDetector() 的结果,也就是那个函数。因为f是一个函数,所以可以调用它。

【讨论】:

    【解决方案2】:

    在 JavaScript 和许多其他语言中,函数可以被视为值。因此,您的第一个函数返回一个值,该值本身就是对函数的引用。然后,像任何其他函数一样,将返回的函数值应用于参数 45。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-17
      • 1970-01-01
      • 2017-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多