基本用法:
ES6中允许使用“箭头”(=>)定义函数

var f   = v => v; 

上面代码相当于定义了一个函数 f :

var f = function(v){
return v;
}

1、无参数的箭头函数:

var f = ()=>5;

等同于

var function(){
return 5;
}

2、有参数的箭头函数:

var sum = (a,b)=>a+b;

等同于

var sum=function(a,b){
return a+b;
}

有的函数体内的语句大于一条的话,它的写法如下使用一个大括号将其括起来,并使用return语句返回:

var sum = (a,b) => {return a+b;}

由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象时,必须在对象外面加一个大括号:

var getFunctipn = id => ({id:id,name:"nodejs"})

箭头函数也可以与变量解构结合使用:

const full = ({first, last}) => first +"  "+ last;

等同于:

const full=function(persion){
return persion.first+" "+persion.last;
}

使用箭头函数可以让函数表达的更加简洁
箭头函数的一个用处是简化回调函数:

[1,2,3].map(function(x){
return x*x;
});

等同于

[1,2,3].map(x=>x*x)

另一个例子:

var result = values.sort(function(a, b){
return a -b;
});

等同于

var result = values.sort((ab)=>a-b)

使用rest参数(变参)与箭头函数结合的例子:

const numbers = (...nums) => nums;
numbers(1,2,3,4,5,6,7,8,9); //[1,2,3,4,5,6,7,8,9] const headAndTail = ( head, ...tail) => [head, tail];
headAndTail(1,2,3,4,5,6,7,8,9);// [1, [2,3,4,5,6,7,8,9]]

nodejs 之=> 函数的更多相关文章

  1. NodeJS 模块&函数

    NodeJS 模块&函数 nodejs的多文件操作通过模块系统实现,模块和文件一一对应.文件本身可以是javascript代码.JSON或编译过的C/C++扩展 基本用法 nodeJS通过ex ...

  2. nodejs回调函数

    阻塞代码实例: main.js var fs=require("fs"); var data=fs.readFileSync("1.txt"); console ...

  3. Nodejs正则表达式函数之match、test、exec、search、split、replace使用详解

    1. Match函数 使用指定的正则表达式函数对字符串惊醒查找,并以数组形式返回符合要求的字符串 原型:stringObj.match(regExp) 参数: stringObj 必选项,需要去进行匹 ...

  4. nodejs 箭头函数

    背景 箭头函数,出现于ES6规范中. 使用 就是lambda函数. 一般使用: (a, b) => { return a + b; } 简略模式: 当参数只有一个时,可以省略括号:当返回值只有一 ...

  5. nodejs基础 -- 函数

    Node.js 函数 在JavaScript中,一个函数可以作为另一个函数接收一个参数.我们可以先定义一个函数,然后传递,也可以在传递参数的地方直接定义函数. Node.js中函数的使用与Javasc ...

  6. nodejs一个函数实现消息队列中间件

    消息队列中间件(Message Queue)相信大家不会陌生,如Kafka.RabbitMQ.RocketMQ等,已经非常成熟,在大大小小的公司和项目中也已经广泛使用. 有些项目中,如果是只使用初步的 ...

  7. nodejs定义函数的方法

    test_163:/home/exenode/part3/module_exports # more calc.js module.exports = { sum:function() { var r ...

  8. NodeJs获取函数名称和函数操作整理

    var aa = function () { log("xxxx"); }; aa(); var model = {}; model.test = function () { lo ...

  9. nodejs之异步思想

    nodejs的精髓就是"异步",但什么是异步呢?我们来看一个例子: var start =new Date; setTimeout(function(){ var end =new ...

随机推荐

  1. matlab与python读取tiff文件

    matlab t=Tiff('IMG_3952.TIF', 'r+'); k = 1; t.setDirectory(k); img{k} = t.read(); src = img{1}; dst( ...

  2. ASP.NET Web Forms - 网站导航(Sitemap 文件)

    [参考]ASP.NET Web Forms - 导航 ASP.NET 带有内建的导航控件. 网站导航 维护大型网站的菜单是困难而且费时的. 在 ASP.NET 中,菜单可存储在文件中,这样易于维护.文 ...

  3. 解决ubuntu下音乐播放器Rhythmbox乱码问题

    两种解决方法 第一种是修改用户的环境变量 1.先打开主文件夹 cd /home/user #user是你的用户名然后编辑用户环境 2.sudo gedit .profile在打开的文件中添加: exp ...

  4. 多级分类标签{dede:channelartlist}实现当前栏目颜色高亮显示

    我们知道,如果要在网站上多级分类显示的话,可以用下面的标签实现:   {dede:channelartlist typeid='4' cacheid='channelsonlist'}    < ...

  5. Oracle递归查询,Oracle START WITH……CONNECT BY查询

    Oracle递归查询,Oracle START WITH……CONNECT BY查询,Oracle树查询 ================================ ©Copyright 蕃薯耀 ...

  6. 关于Kafka区分请求处理优先级的讨论

    所有的讨论都是基于KIP-291展开的.抱歉,这又是一篇没有图的文字. 目前Kafka broker对所有发过来的请求都是一视同仁的,不会区别对待.不管是用于生产消费的PRODUCE和FETCH请求, ...

  7. Zephyr学习(三)启动过程

    一.写在前面 最近对zephyr这个系统很感兴趣,因此业余有时间的时候都在研究它的源码,而光看代码不去动手这不是我的风格,于是乎在网上淘了一块STM32F103C8T6的核心板和一块NRF52832的 ...

  8. 【Zookeeper系列】ZooKeeper管理分布式环境中的数据(转)

    原文地址:https://www.cnblogs.com/sunddenly/p/4092654.html 引言 本节本来是要介绍ZooKeeper的实现原理,但是ZooKeeper的原理比较复杂,它 ...

  9. ThinkPHP3.2.3框架下接入阿里云短信服务接口实现:注册登录

    首先介绍下短信注册登录流程: 注册页面点击获取手机号验证码按钮,用jquery的click事件POST或GET方法把手机号发送到后台控制器: 后台控制器创建函数,收到手机号后生成随机码,例如:6位的随 ...

  10. Solve Error: "errcode": 85005, "errmsg": "appid not bind weapp hint"

    在使用微信官方给的添加自定义菜单的示例代码: { "button":[ { "type":"click", "name" ...