返回值为函数的函数(Functions that Return Functions)
在前几篇文章已经介绍了函数要有返回值,即使没有写return,函数也会返回一个undefine。
接下来看看返回值为函数的情况
function a(){
alert('a');
return function(){
alert('b');
};
}
在这个例子中,a函数执行了alert('a'),以及它返回了另一个函数b。关于返回b的调用我们可以这样来用。
var newFunc = a();
newFunc();
执行结果为 alert a和alert b
如果不想赋值调用这个函数也可以简写如下
a()();
函数的自身重写
因为函数可以返回一个函数,那就意味着可以用一个新的函数替代一个旧的函数,根据前一个例子来改进一下
a=a();
第一次运行函数a,就alert a,再次运行函数a,就alert b,这个功能对初始化非常有用。这个函数a重写了自己,避免在以后调用初始化的功能(上个例子为alert a)。
当然我们还有更简单的方法来重写a函数那就是在a函数的内部重写它,来看看代码
function a(){
alert("a")
a=function(){
alert("b");
}
}
只有在初次调用a函数才会执行 alert a 在以后的调用中,都会执行alert b
下面结合前几节看个综合的例子
var c = function(){
function a(){
alert('a')
}
function b(){
alert('b')
}
a();
return b;
}();//alert('a');
c();//alert('b');
这个例子有以下几点需要注意
1. a函数,b函数是内部函数。
2. return b 返回的是个函数的引用。
3. 子调用函数重写了函数c。
如果能明白这个例子,关于内部函数,子调用函数和返回值为函数的函数就可以都理解了。
分享到:
相关推荐
不过,由于【标题】中提供了文档的名称——"JavaScript函数式编程.pdf",我可以根据这个名称扩展出关于JavaScript函数式编程的知识点。 JavaScript函数式编程的知识点非常丰富,涉及很多方面的内容,下面将详细介绍...
JavaScript函数式编程是一种编程范式,它强调将计算视为数据处理的过程,并且重视函数作为第一类公民,即函数可以作为变量赋值、作为参数传递、作为返回值返回。这种编程风格在JavaScript中尤其常见,因为它提供了...
今天研究一个小问题: 怎么拿到JavaScript异步函数的返回值? 1.错误尝试 当年未入行时,我的最初尝试: [removed] function getSomething() { var r = 0; setTimeout(function() { r = 2; }, 10); return r; ...
而《JavaScript函数式.zip》可能是一份关于JavaScript函数式编程的资料集合,函数式编程是一种编程范式,强调使用函数和避免改变状态。其中可能涵盖以下知识点: 1. **纯函数**:理解纯函数的定义,即给定相同的...
"使用简单的注释记录函数的所有作业和返回值"这个主题强调了在编写JavaScript代码时,应如何有效地进行注释以提高代码质量。 在JavaScript中,我们通常使用两种主要类型的注释:单行注释(//)和多行注释(/* ... *...
### JavaScript函数大全解析 在深入探讨JavaScript函数的广泛应用与特性之前,让我们首先明确一点:JavaScript函数不仅是编程语言中的核心组件,更是实现复杂逻辑、封装功能模块的关键所在。不同于许多传统面向对象...
以下是关于JavaScript函数的详细讲解: 1. **函数定义**: - 无参函数定义:`function 函数名 () { 代码... }` - 有参函数定义:`function 函数名 (参数列表) { 代码... }` - 参数列表中的参数可以是变量、常量...
JavaScript函数是编程语言的核心组成部分,它是一段可重复使用的代码块,可以接受参数并返回值。在JavaScript中,函数不仅可以作为表达式,还能作为变量赋值、作为参数传递以及作为返回值。本速查指南将深入探讨...
JavaScript函数式编程是一种编程范式,它将计算视为数据处理,并强调使用无副作用的纯函数。在JavaScript中,函数式编程允许我们写出更简洁、可读性更强的代码,同时提高了代码的复用性和测试性。《JavaScript函数式...
3. **调用JavaScript函数**:使用提供的API调用JavaScript函数,传入必要的参数。这可能涉及到字符串化参数、处理异步调用等细节。 4. **处理返回值**:当JavaScript函数执行完毕后,你需要注册一个回调来接收...
函数的也不需要像c#那样要求所以路径都需要有返回值(这个不像c#语言,而且c#的方法也不需要在方法名前面在 function关键字) function add(i, j) { //现在只是声明了一个函数在这里,只有调用到它的时候它才会被...
首先,我们需要理解,在JavaScript中,函数是一等公民,这意味着函数可以作为变量来存储,可以作为参数传递给其他函数,也可以作为其他函数的返回值。利用这些特性,我们能够通过函数名的字符串形式来动态调用函数。...
JavaScript 函数式编程是一种编程范式,它将函数视为第一类公民,允许它们作为其他函数的参数、返回结果,甚至可以存储在变量中。在JavaScript中,函数式编程提供了更高级别的抽象,使得代码更简洁、可读性更强,...
JavaScript ES6函数式编程是现代Web开发中的重要概念,它为开发者提供了更高效、更简洁的编程方式。本文将深入探讨ES6中的函数式编程特性,帮助初学者掌握这一核心技能。 1. **箭头函数**:箭头函数是ES6引入的一种...
函数返回值 函数可以返回值,这些值在函数执行完成后返回给调用代码。您可以使用 return 关键字来指定要返回的值。例如: ``` function myFunction(x, y) { return x + y; } ``` 匿名函数 除了使用 function ...
例如,如果你有一个名为`myJSFunction`的JavaScript函数,可以这样调用: ```cpp QWebFrame *frame = webView->page()->mainFrame(); frame->evaluateJavaScript("myJSFunction()"); ``` 4. **传递参数** 如果...
以下是一些关于JavaScript函数的关键知识点: 1. **定义函数**:函数通过`function`关键字定义,后面跟着函数名和一组参数列表,参数之间用逗号分隔,然后是花括号内的函数体。例如: ```javascript function ...
在JavaScript中,函数是第一类对象,这意味着它们可以赋值给变量、作为参数传递给其他函数,也可以作为其他函数的返回值。这是函数式编程的基础,因为它允许我们用函数来构建更复杂的函数。 二、纯函数 纯函数是只...
接下来,我将详细介绍如何通过onclick事件获取JavaScript函数返回值。 首先,创建一个按钮元素,并为其绑定点击事件处理器是实现该功能的基本步骤。在上述的代码示例中,我们看到`createBtn`函数用于动态创建按钮,...