切换导航
简历
工具
演示
查询
导航菜单
服务端
30
前端
114
数据库
82
进阶开发
8
桌面程序
2
QA
15
软件使用
36
规范协议
5
操作系统
11
AI
0
复用资源
6
硬件
0
标签
HTML
正则表达式
Json
包管理工具
vite
CSS
XPath
JavaScript
Jquery
less
ES6
Vue
React
vue 3
Layui
editor.md
sea.js
Zepto.js
mysql.js
mssql.js
NodeJs
Express
前端template
YAML
杂项
外部链接
.NET Core SDK和运行时安装包
淘宝 NPM 镜像
查询网
Tables Generator线上表格转换工具
引用cdn在线脚本和样式
首页
前端
ES6 基础之函数扩展
[TOC] ### 函数参数默认值 在ES6之前返回默认值的方法 ```js function foo(param) { var val = param || "hello word" return val; } console.log(foo()) //输出:hello word ``` ES6扩展后的参数默认值 ```js function foo(param = "hello word"){ return param; } console.log(foo()) //输出:hello word ``` ### 函数参数解构赋值 使用对象作为函数参数时,对象参数必须要有值,如果调用时不传参会提示错误,下面代码就给对象赋值了一个`{}`空对象作为默认值,所以`foo()`直接调用时输出了对象成员的默认值,参数为对象时也是可以给对象成员设置默认值的 ```js function foo({ username = "曹操", userage = 56 } = {}) { console.log(username, userage) } foo() //输出:曹操 56 foo({ username: "刘备", userage: 60 }) //输出:刘备 60 ``` ### rest参数 rest参数也叫剩余参数,在函数参数中使用三个点来声明 `...param`,从下面的示例我们可以看出调用函数时传了3个参数,但我们函数只声明了2个参数,一个常规参数和一个剩余参数,这时参数 `a = 1` 是调用时传的第一个参数,参数 `param = [2,3]` 它接收到的是剩下两个值组成的一个数组,这就是剩余参数的作用,把没有对应关系的传参集合成数组给了剩余参数 ```js function foo(a, ...param) { console.log(a, param) } foo(1, 2, 3) //输出:1 [2,3] ``` ### 扩展运算符 函数的扩展运算符和rest参数是反着来的,它是在调用函数的可以将一个数组传递给方法,在传参的数组前面使用三点来进行修饰 `...[]`,下面的示例中使用 `...[]` 传参后,函数 `foo` 的参数 `a,b,c,d,e` 都分别获取到了对应的传参 ```js function foo(a,b,c,d,e){ console.log(a + b + c + d + e) } foo(...[1,2,3,4,5]) ``` 下面再通过一个合并数组方式来看扩展运算符 `...`,从示例中可以看出 `...` 起到的作用就是把数组进行了拆分了 ```js let attr1 = [1,2,3] let attr2 = [4,5,6] let attr = [...attr1,...attr2] console.log(attr) //输出:[1,2,3,4,5,6] ``` ### 箭头函数 <a href="/admin/Blog/SeeMarkdown?id=385" target="_blank">JS 箭头函数</a>
扫一扫手机看
点击排行
windows 文件资源管理器使用
Layui 弹窗open使用说明
SQL Server 中字符串函数使用
C# 使用QQ邮箱代理做邮件接收功能
SQL Server关于apply的两种形式cross apply 和 outer apply
ASP.NET MVC 模型的自定义验证
nvm安装及常用命令
SQL Server 中数据类型转换
SQL Server 中WITH AS短语的使用
IE浏览器下AJAX缓存问题导致数据不更新的解决办法
订阅号