函数内的javascript函数表达式

标签 javascript function function-expression

下面的工作 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函数表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28790546/

相关文章:

javascript - 用于将某物分配为对象属性的函数?

javascript - 在 jquery 中默认折叠所有选项卡

javascript - 调用外部名称的函数表达式

javascript - 函数表达式的词法范围

c++ - C++ 函数中未解析的外部链接

javascript - 为什么命名函数表达式本身不能将名称分配给另一个值?

javascript - Javascript 中 iso 格式的日期时间

javascript - 图像和文本对齐、页脚和文本问题

C 函数定义和 extern 关键字

javascript - 创建一个每 3 秒更改一个变量的函数