`
风雪涟漪
  • 浏览: 497558 次
  • 性别: Icon_minigender_1
  • 来自: 大连->北京
博客专栏
952ab666-b589-3ca9-8be6-3772bb8d36d4
搜索引擎基础(Search...
浏览量:8782
Ae468720-c1b2-3218-bad0-65e2f3d5477e
SEO策略
浏览量:17722
社区版块
存档分类
最新评论

Javascript 函数 (六) 返回值为函数的函数

阅读更多

返回值为函数的函数(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异步函数的返回值

    今天研究一个小问题: 怎么拿到JavaScript异步函数的返回值? 1.错误尝试 当年未入行时,我的最初尝试: [removed] function getSomething() { var r = 0; setTimeout(function() { r = 2; }, 10); return r; ...

    Python -函数的返回值-接收返回元组函数的方式

    Python还被语言流行指数的编译器Tiobe将它被评为最受欢迎的编程语言,20多年来首次将Python置于Java、C和JavaScript之上,真的非常荣幸了. 自从20世纪90年代初Python语言诞生至2022年,它已被逐渐广泛应用于系统...

    javascript中声明函数的方法及调用函数的返回值

    函数的也不需要像c#那样要求所以路径都需要有返回值(这个不像c#语言,而且c#的方法也不需要在方法名前面在 function关键字) function add(i, j) { //现在只是声明了一个函数在这里,只有调用到它的时候它才会被...

    使用简单的注释记录函数的所有作业和返回值

    使用简单的注释记录函数的所有作业和返回值

    JavaScript函数-深入解析与使用指南(很详细)

    1.本文将深入探讨JavaScript函数的基本原理、特点,并通过多个示例展示函数的使用流程和步骤。读者将学习到如何定义函数、编写函数体、调用函数以及处理返回值。此外,文章还将对函数的参数、作用域以及闭包等高级...

    Python 函数参数和返回值的作用

    Python还被语言流行指数的编译器Tiobe将它被评为最受欢迎的编程语言,20多年来首次将Python置于Java、C和JavaScript之上,真的非常荣幸了. 自从20世纪90年代初Python语言诞生至2022年,它已被逐渐广泛应用于系统...

    delphi与JavaScript进行交互,获取JS端返回值

    Delphi中调用JavaScript方法,并获得返回值,具体看资源里的DEMO程序。

    javascript函数

    本章的重点是用户定义的JavaScript函数的定义和调用。另外还有一点比较重要,即JavaScript支持很多内部的函数,诸如类Array的方法eval()、parseInt()和sort()等。客户端JavaScript还定义了其他函数,如document....

    Com调用JavaScript函数

    C++开发的Com组件调用JavaScript函数,传递多个参数给JS函数,并从JS函数中获取返回值

    Python 函数的返回值-03-交换两个变量的值

    Python还被语言流行指数的编译器Tiobe将它被评为最受欢迎的编程语言,20多年来首次将Python置于Java、C和JavaScript之上,真的非常荣幸了. 自从20世纪90年代初Python语言诞生至2022年,它已被逐渐广泛应用于系统...

    javascript少儿编程关于返回值的函数内容

    带返回值的函数 好吧,我们把alert(sum)一行改成下面的代码: return sum; return后面的值叫做返回值。使用下面的语句调用函数就可以将这个返回值存储在变量中了。 result = add2(3,4); 该语句执行...

    javascript版本的轨道六根数计算卫星位置的函数

    javascript版本的轨道六根数计算卫星位置的函数 /* 参数例子: orbitPara = { o: 20,//升交点赤径(单位度) i: 30,//轨道倾角(单位度) w: 10,//近地点角距(单位度) a: 7000e+3,//半长轴(单位米) e: 0.5,//离心...

    js的日期函数详解js的日期函数详解

    js的日期函数详解js的日期函数详解js的日期函数详解js的日期函数详解js的日期函数详解js的日期函数详解

    Python 函数的返回值-利用元组返回多个值

    Python还被语言流行指数的编译器Tiobe将它被评为最受欢迎的编程语言,20多年来首次将Python置于Java、C和JavaScript之上,真的非常荣幸了. 自从20世纪90年代初Python语言诞生至2022年,它已被逐渐广泛应用于系统...

    JavaScript 函数用法详解【函数定义、参数、绑定、作用域、闭包等】

    典型的JavaScript函数定义: function 函数名称(参数表){ //函数执行部分 return ; } //注意:参数列表直接写形参名即可 return语句:return返回函数的返回值并结束函数运行 函数也可以看做数据来进行传递 参数...

    JavaScript程序设计课件:函数的调用方式.pptx

    一般形式的函数调用,是常见的函数调用方式,一般用于“没有返回值的函数”。 语法: 函数名称([参数1, 参数2, ……]) [参数1,参数2…]是可选的,用于表示实参列表,其值可以是零个、一个或多个。 5.2.2 函数的...

    学习DWR JavaScript函数整理

    返回值:true为含有汉字,false为不含有汉字 ******************************************/ function checkChinese(str) { return ( escape(str).indexOf("%u")!=-1 ); } //函数名:fucCheckPostcode //功能介绍:...

    【JavaScript源代码】QT与javascript交互数据的实现.docx

    QT与javascript交互数据的实现  一、数据从QT流向JS 1、QT调用JS的函数,JS通过形参获得QT的值 2、JS调用QT的函数,QT函数的返回值进入JS 二、数据从JS流向QT 1、JS调用QT的函数,QT通过形参获得JS的值 2、QT调用JS...

Global site tag (gtag.js) - Google Analytics