函数中的JavaScript函数表达式
javascript function expression within function
下面的工作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
,然后返回isBetween
。 f
设置为buildBoundDetector()
的结果,即该函数。因为f
是一个函数,所以你可以调用它。
在 JavaScript 和许多其他语言中,函数可以被视为值。因此,您的第一个函数返回一个值,该值本身就是对函数的引用。然后,返回的函数值与任何其他函数一样应用于参数 45。
相关文章:
- 能够在定义函数表达式之前使用它
- 函数表达式,返回回调函数
- JavaScript中的立即调用函数表达式(IIFE)-传递jQuery
- 函数声明与函数表达式之间的性能差异
- 立即调用函数表达式(IIFE)相对于普通函数的优势
- 如何防止 JS 缩小删除命名函数表达式的名称
- Angularjs 与 coffeescript 函数表达式中断
- JavaScript 混乱中的函数表达式
- 从ES6中的函数表达式访问类作用域
- 提升作为数组项的匿名函数表达式
- Javascript Mocha测试-测试函数表达式中的函数表达式
- 函数中的JavaScript函数表达式
- Javascript闭包覆盖函数表达式
- 函数表达式的词法作用域
- 请解释一下“;立即调用函数表达式“;以及“;自调用匿名函数”;
- JavaScript 中的函数语句和函数表达式
- ng-class 的函数表达式在 ng-click 时被调用
- 如何创建名称和主体存储在不同变量中的 JavaScript 函数表达式
- Object.Prototype 方法和 IIFE(立即调用的函数表达式)中的“use strict”
- 全局范围内的函数表达式与函数声明的区别