博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
谈谈神秘的ES6——(三)ES6的函数
阅读量:6425 次
发布时间:2019-06-23

本文共 1318 字,大约阅读时间需要 4 分钟。

hot3.png

谈谈神秘的ES6——(三)ES6的函数

 ES6函数的改变不算太大,都是一些其他语言早就有的功能,而Javascript一直比较欠缺的,比如函数参数默认值,任意参数的表示法,最大的变化应该是支持箭头函数(其他语言称之为LAMBDA表达式),一种对匿名函数的一种简写方式。

箭头函数()=>{}

箭头函数的本质是方法函数的一种简写,不需要function关键字来创建函数,它可以省略return关键字,当只有一个参数是,可以省略(),如果只有一个return,可以省略{}。具体来看看代码:

function square(n){    return n*n;}//等价于let square = n => n*n;

默认参数

在ES5我们给函数定义参数默认值是怎么样?

function action(num) {   num = num || 200   //当传入num时,num为传入的值   //当没传入参数时,num即有了默认值200   return num}

但当,num传入为0的时候就是false, 此时num = 200 与我们的实际要的效果明显不一样。

ES6为参数提供了默认值。在定义函数时便初始化了这个参数,以便在参数没有被传递进去时使用。

function action(num = 200) {    console.log(num)}action() //200action(300) //300

不定参数(Rest Parameter)

在函数命名参数前添加...三个点表明这是一个不定参数。

这是一个类似C#的params object参数,放在最后一个形参,用来收集剩余的参数。

function pick(obj, ...keys) {  let result = Object.create(null)  for (let i = 0, len = keys.length; i < len; i++) {    result[keys[i]] = object[keys[i]]  }  return result}

其实,它还可以用来展开数组,我们来看一下:

Math.max可接受任意数量的参数并返回最大的那个,但如果传入的是一个数组,则只能使用apply。

console.log(Math.max(11, 2, 3, 12, 43, 904, 3543, 43))let values = [11, 2, 3, 12, 43, 904, 3543, 43]console.log(Math.max.apply(Math, values))

使用展开运算符就变得特别简单了。

let values = [11, 2, 3, 12, 43, 904, 3543, 43]console.log(Math.max(...values))

                                                                                                       

如果想跟着振丹继续学习,可以微信关注【振丹敲代码】(微信号:JandenCoding)

新博文微信同步推送,还附有讲解视频哦~

也可直接扫描下方二维码关注。

转载于:https://my.oschina.net/JandenMa/blog/1919117

你可能感兴趣的文章
使用putty远程连接linux
查看>>
【comparator, comparable】小总结
查看>>
Node 版本管理
查看>>
34、重分布配置实验之分发列表distribute-list
查看>>
命令模式-对象行为型
查看>>
VS2017配置、提高生产力、代码辨识度 (工欲善其事必先利其器)新手必备!
查看>>
[Phoenix] 七、如何使用自增ID
查看>>
路由基本配置(上)
查看>>
windows上传文件到linux乱码解决
查看>>
fpm打包zabbix-agent
查看>>
pythopn List(列表)
查看>>
学习笔记 十五: mariadb
查看>>
学习笔记 124: 预备知识总结
查看>>
windows server之AD(1)
查看>>
如何升级PowerShell
查看>>
oracle kill所有plsql developer进程
查看>>
python实现登录查询(可以模糊查询)
查看>>
LAMP架构(apache用户认证,域名重定向,apache访问日志)
查看>>
struts2.0的json操作
查看>>
SQL注入神器——sqlmap
查看>>