石川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. vuex中的this.$store.commit

    Vue的项目中,如果项目简单, 父子组件之间的数据传递可以使用 props 或者 $emit 等方式 进行传递 但是如果是大中型项目中,很多时候都需要在不相关的平行组件之间传递数据,并且很多数据需要多 ...

  2. 微信小程序富文本

    <div class="weui-panel__bd pad-all fs13 " > <rich-text nodes="{{detail.conte ...

  3. redis-cluster集群总结

    Redis集群搭建 要想搭建一个最简单的Redis集群,那么至少需要6个节点:3个Master和3个Slave.为什么需要3个Master呢?如果你了解过Hadoop/Storm/Zookeeper这 ...

  4. 网络基础篇之NAT(原理)

    一.NAT的产生 由于网络的飞速发展和网络应用的极速增多,致使IPv4可用地址空间逐渐枯竭.尽管IPv6可以在根本上解决地址枯竭问题,但IPv4发展到IPv6还需要一个过渡,而这便产生了NAT. 二. ...

  5. 亲测,将自己的项目部署到Github下

    转载内容,其实就是为了方便自己不用再去百度 感谢这位前辈 链接

  6. Python中json的简单读写操作

    Python中json的简单读写操作 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ...

  7. VS2008配合SQLite开发WINCE、PDA智能设备项目环境搭设。

    1.安装vs2008 ---------------------------vs2008上安装TFS步骤(详细请见——http://www.cnblogs.com/mayt/archive/2013/ ...

  8. MyBatis Generator 移除字段前缀

    在table标签内添加 <columnRenamingRule searchString="wrc_" replaceString=""/> < ...

  9. C# class 浅拷贝 与 深拷贝

    MemberwiseClone 方法创建一个浅表副本,具体来说就是创建一个新对象,然后将当前对象的非静态字段复制到该新对象.如果字段是值类型的,则对该字段执行逐位复制.如果字段是引用类型,则复制引用但 ...

  10. 函数参数-arguments-reset参数

    1.JS中用:arguments 1)存放实参的集合,是一个类似于数组的对象,只有数组的 length,没有数组方法 function add1(a,b,c) { console.log(argume ...