定义一个函数相信大家已经很熟悉了, 在javascript里的函数也是非常重要的, 使用率非常高, 有几种函数不是很好理解

一, 匿名函数
  var remove = function(num1) {

    return num1;

  }

  var fun = remove(5);

  console.log(fun);

这里定义的这个函数没有设置函数名, 在使用的时候要使用变量调用这个函数.

最后的输出结果:

5


二, 回调函数, 传递的参数可以定义成任意的对象, 而在这里, 其中的一个参数就是一个函数

  function output(num1, num2) {

    return (num1+num2);

    console.log(num1+num2);
  }
  function read(callback, num1, num2) {           //参数里面的callback就是一个被调用的函数

    console.log("read");

    output(num1, num2);
  }
  read(output, 6, 7);

调用的时候通过一个函数来调用其他的一个函数

这样通过调用函数read()来调用output()函数

最后的输出结果:

read

13


三, 函数内部定义函数(嵌套函数)
  function Website(n1, n2) {

    var = myNum1, myNum2;

    function set(num1, num2) {

      myNum1 = num1;                  //将定义的两个变量mynum1, mynum2赋值

      myNum2 = num2;

    }

    set(n1, n2);             //函数set()中的参数被函数Website()中的参数赋值

    return [myNum1, myNum2];

  }

  Website(3, 4);

当执行Website函数的时候就会在这个函数内部定义另一个函数set()

最后的输出结果:

[3, 4]

node.js中的匿名函数, 回调函数和嵌套函数的更多相关文章

  1. js中的匿名函数和匿名自执行函数

    1.匿名函数的常见场景 js中的匿名函数是一种很常见的函数类型,比较常见的场景:   <input type="button" value="点击" id ...

  2. node.js中的回调

    同步和阻塞:这两个术语可以互换使用,指的是代码的执行会在函数返回之前停止.如果某个操作阻塞,那么脚本就无法继续,这意味着必须等待. 异步和非阻塞:这两个术语可以互换使用,指的是基于回调的.允许脚本并行 ...

  3. js进阶js中支持正则的四个常用字符串函数(search march replace split)

    js进阶js中支持正则的四个常用字符串函数(search march replace split) 一.总结 代码中详细四个函数的用法 search march replace split 二.js进 ...

  4. js中使用function定义类、实例化,函数的调用方法

    function Test002(name, age){ name, age, this.printInfo = function(){ //定义的公有方法 console.log(name, age ...

  5. 初步揭秘node.js中的事件

    当你学习node.js的时候,Events是一个非常重要的需要理解的事情.非常多的Node对象触发事件,你能在文档API中找到很多例子.但是关于如何写自己的事件和监听,你可能还不太清楚.如果你不了解, ...

  6. Node.js权威指南 (10) - Node.js中的错误处理与断言处理

    10.1 使用domain模块处理错误 / 272 10.1.1 domain模块概述 / 272 10.1.2 创建并使用Domain对象 / 274 10.1.3 隐式绑定与显式绑定 / 276 ...

  7. node.js中process进程的概念和child_process子进程模块的使用

    进程,你可以把它理解成一个正在运行的程序.node.js中每个应用程序都是进程类的实例对象. node.js中有一个 process 全局对象,通过它我们可以获取,运行该程序的用户,环境变量等信息. ...

  8. node.js中通过dgram数据报模块创建UDP服务器和客户端

    node.js中 dgram 模块提供了udp数据包的socket实现,可以方便的创建udp服务器和客户端. 一.创建UDP服务器和客户端 服务端: const dgram = require('dg ...

  9. node.js中net网络模块TCP服务端与客户端的使用

    node.js中net模块为我们提供了TCP服务器和客户端通信的各种接口. 一.创建服务器并监听端口 const net = require('net'); //创建一个tcp服务 //参数一表示创建 ...

随机推荐

  1. [批处理]Oracle启动助手

    前段日子开始学Oracle数据库,但是由于Oracle数据库的服务启动时间很长 所以机房的里面所有电脑的Oracle服务全部是被禁用的 所以每次上机使用的时候都要先进服务管理,然后把禁用更改为手动模式 ...

  2. 『转』Emsisoft Anti-Malware 8刷Key教程 - 文字版

    先分主机和客机,下载好 EAM8安装包 和 30天重置工具EAM Trial Reset 1.1.exe 1. 主机安装 Emsisoft Anti-Malware 8 并激活30天试用版   如果已 ...

  3. ASP.NET FORM认证配置排错记录

    搞了2小时都不能实现自动跳转到登录页面,后删除了配置文件中的name,就解决问题了. <authorization>      <deny users="?" / ...

  4. 通过Ftp put命令上传导致文件损坏的解决办法

    通过Linux命令行向在一台Windows FTP服务器上传文件.然后在另一台Windows客户机登录FTP服务器下载,但是下载后的文件大小变了,exe文件错误了不能正确执行.刻意打包的文件(.rar ...

  5. Hosts 文件的作用

    问题来源: 我修改了hosts文件访问公司的内网  但是出现错误找不到服务器或DNS错误  一个下午了都上不了公司的系统. Hosts是什么?Hosts是Window系统目录里的一个文件,它的作用可大 ...

  6. LINUX 设置交换分区的大小

    创建交换分区目录 mkdir /data1/mnt/ 卸载当前交换分区 swapoff /data1/mnt/10GB.swap 设置交换分区为 5Gdd if=/dev/zero of=/data1 ...

  7. apache伪静态设置

    在网站根目录下新建一个.htaccess文件即可,编辑如下 RewriteEngine On #游戏列表详细介绍 RewriteRule ^g-([0-9]+).html$ game.php?acti ...

  8. Spring Boot 报错:Error creating bean with name 'entityManagerFactory' defined in class path resource

    spring boot 写一个web项目,在使用spring-data-jpa的时候,启动报如下错误: Error starting ApplicationContext. To display th ...

  9. 统计中的bitMap

    //位图的概念就是在个一字节八位的地方存八个状态 比如 bool hash[] 表示某个数字被标记过,一个数字需要一个字节 而bitMap就是可以把每位都用来标记,起到节约空间的目的 //位图的概念就 ...

  10. 为什么JSP会比Beetl慢

    转自:http://my.oschina.net/xiandafu/blog/475740 JSP是预编译成class的,然后模板渲染里比Beetl慢很多,文章从JSP静态文本处理不足,以及JSTL实 ...