石川es6课程---5、函数-参数

一、总结

一句话总结:

` 收集参数:收集剩余的参数,必须当到最后一个参数位置:function show(a, b, ...args) {
` 展开参数:展开数组,简写,效果和直接把数组的内容写在这儿一样:let arr3 = [...arr1, ...arr2]
` 默认参数:和习惯写法一样:function show2(a, b=5, c=8) {

1、es6中函数的参数收集实例?

` 收集参数:收集剩余的参数,必须当到最后一个参数位置:function show(a, b, ...args) {
//收集剩余的参数,必须当到最后一个参数位置
function show(a, b, ...args) {
console.log(a)
console.log(b)
console.log(args)
}
console.log(show(1, 2, 3, 4, 5))

2、es6中函数的展开参数实例?

` 展开参数:展开数组,简写,效果和直接把数组的内容写在这儿一样:let arr3 = [...arr1, ...arr2]
//展开数组,简写,效果和直接把数组的内容写在这儿一样
let arr1 = [1, 2, 3]
let arr2 = [4, 5, 6]
let arr3 = [...arr1, ...arr2]
console.log(arr3)//结果1, 2, 3,4, 5, 6

3、es6中函数的默认参数实例?

` 默认参数:和习惯写法一样:function show2(a, b=5, c=8) {
//默认参数
function show2(a, b=5, c=8) {
console.log(a, b, c)
}
show2(88, 12)

二、函数-参数

  • 参数扩展/展开 ...args

    • 收集剩余的参数,必须当到最后一个参数位置
    • 展开数组,简写,效果和直接把数组的内容写在这儿一样
  • 默认参数
//收集剩余的参数,必须当到最后一个参数位置
function show(a, b, ...args) {
console.log(a)
console.log(b)
console.log(args)
}
console.log(show(1, 2, 3, 4, 5)) //展开数组,简写,效果和直接把数组的内容写在这儿一样
let arr1 = [1, 2, 3]
let arr2 = [4, 5, 6]
let arr3 = [...arr1, ...arr2]
console.log(arr3) //默认参数
function show2(a, b=5, c=8) {
console.log(a, b, c)
}
show2(88, 12)

函数参数

  1. 参数扩展/展开
  • 收集剩余的参数(Rest Parameter剩余参数必须是最后一个)
function show(a,b,...args,c){
alert(a)
alert(b)
alert(args)//3,5,7
alert(c)//报错,Rest Parameter剩余参数必须是最后一个
}
show(1,2,3,5,7)
  • 展开数组:展开后的效果和直接把数组内容写在这儿一样
let arr=[1,2,3]
let arr1=[56,5,4]
let arr2=[...arr,...arr1]//arr+arr1
function show(a,b,c){
alert(a)
alert(b)
alert(c)
}
show(...arr)
let arr=[1,2,3]
let a=...arr//报错
function show(...args){
fn(...args)
}
function fn(a,b){
alert(a+b)
}
show(1,2,3,5)
  1. 默认参数
  • 没有参数就用默认参数,有就用自身的实参
function show1(a,b=5,c=6){
alert(a+b+c)
}
show1(15)
show1(15,undefined,7)//只有中间参数为默认参数
 

石川es6课程---5、函数-参数的更多相关文章

  1. 石川es6课程---4、箭头函数

    石川es6课程---4.箭头函数 一.总结 一句话总结: 相当于函数的简写,类似python lambda 函数,先了解即可 let show1 = function () { console.log ...

  2. 石川es6课程---13-16、generator-认识生成器函数

    石川es6课程---13-16.generator-认识生成器函数 一.总结 一句话总结: ` generator函数,中间可以停,到哪停呢,用 yield 配合,交出执行权 ` 需要调用next() ...

  3. 石川es6课程---18、ES6 复习

    石川es6课程---18.ES6 复习 一.总结 一句话总结: 无论在讲课和学习中,复习总结都是很重要 二.ES6 复习 变量 let const 声明方式 能否重复声明 作用域 类型 是否支持变量提 ...

  4. 石川es6课程---17、ES7 预览

    石川es6课程---17.ES7 预览 一.总结 一句话总结: 人的价值恒定规律:无论得意还是迷茫之时,你的价值都不靠外界的评判或者你内心的悲喜而决定.而是当时的恒定的.能够提升他只能靠你提升自己的能 ...

  5. 石川es6课程---12、Promise

    石川es6课程---12.Promise 一.总结 一句话总结: 用同步的方式来书写异步代码,让异步书写变的特别简单 用同步的方式来书写异步代码Promise 让异步操作写起来,像在写同步操作的流程, ...

  6. 石川es6课程---7、数组

    石川es6课程---7.数组 一.总结 一句话总结: ^ 主要就map(映射:一个对一个),reduce(汇总:一堆出来一个),filter  过滤器,forEach 循环(迭代) 四个方法 ^ 使用 ...

  7. 石川es6课程---1-2、ES6简介

    石川es6课程---1-2.ES6简介 一.总结 一句话总结: 从ECMAScript的历史发展来看,太顺了的时候总会遇到一挫折,比如ecma4 1.ECMAScript 和 JavaScript关系 ...

  8. 石川es6课程---11、json

    石川es6课程---11.json 一.总结 一句话总结: ` 感觉更方便了一点,增加了一些简写 ` key-value 一样时可以简写:console.log({ a,b}}) ` 里面函数可以简写 ...

  9. 石川es6课程---3、变量let和常量const

    石川es6课程---3.变量let和常量const 一.总结 一句话总结: let非常好用,尤其是let的块级作用域可以解决之前要(function(){})()立刻执行函数做的块级作用域 1.js中 ...

随机推荐

  1. webpack开启本地服务器与热更新

    第一个webpack本地服务 webpack本地服务相关的一些操作指令与应用 一.第一个webpack本地服务 //工作区间 src//文件夹 index.js//入口文件 index.css//测试 ...

  2. es6字符串扩展(+模板字符串拼接)

    includes() 判断字符串中是否包含指定的字串(有的话返回true,否则返回false) console.log('hello world'.includes('world' , 7)); // ...

  3. ASE19 团队项目 模型组 scrum report集合

    scrum report 链接 scrum1 report scrum2 report scrum3 report scrum4 report scrum5 report scrum6 report ...

  4. AspectJ的表达式实例

    Joinpoints 连接点,通俗的讲就是想要横切的目标,这些目标包括方法(Method),构造器(Constructor),域(Field),异常(Exception),对象和类初始化(Object ...

  5. Mybatis关联查询(转载)

    原文地址: http://www.cnblogs.com/xiaolang8762400/p/7399892.html   mybatis 提供了高级的关联查询功能,可以很方便地将数据库获取的结果集映 ...

  6. 项目管理工具!DevExpress Winforms Gantt控件 v19.2强势来袭

    DevExpress Winforms Controls 内置140多个UI控件和库,完美构建流畅.美观且易于使用的应用程序.无论是Office风格的界面,还是分析处理大批量的业务数据,DevExpr ...

  7. Java 解析自定义XML文件

    这里我用 maven项目 作为 演示 配置pom.xml文件 完整的pom.xml文件信息 <?xml version="1.0" encoding="UTF-8& ...

  8. PHP swoole websocket协议上机指南

    这一上机实验的开发环境用的是jetbrain公司的phpstorm 上级步骤如下: 创建websocket服务端 <?php $server = ); function onopen($serv ...

  9. BZOJ 4032: [HEOI2015]最短不公共子串 (dp*3 + SAM)

    转博客大法好 第4个子任务中,为什么只转移最近的一个位置,自己YY吧(多YY有益身体健康). #include <bits/stdc++.h> using namespace std; t ...

  10. Redis 配置连接池,redisTemplate 操作多个db数据库,切换多个db,解决JedisConnectionFactory的设置连接方法过时问题。(转)

    环境 springmvc jdk1.8 maven redis.properties配置文件 #redis setting redis.host=localhost redis.port=6379 r ...