函数中的JavaScript函数表达式

javascript function expression within function

本文关键字:函数 表达式 JavaScript      更新时间:2024-07-04

下面的工作JavaScript片段不包括验证,因为它仅用于学习目的。但是,我不了解在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);
buildBoundDetector()是一个

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

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