石川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. 有关图片上传的相关知识input type=file,HTML5的 input:file上传类型控制

    遇到项目,要求做一个影像系统,对于前端开发需要了解file的相关属性,以及如何开发.工欲善其事,必先利器嘛.度娘一阵子搜索,找资料.这年头,需要的是你解决问题的能力啊! 参考应用:https://ww ...

  2. 创建json对象

    jQuery创建json对象 方法二: <!DOCTYPE html> <html> <head> <meta charset="utf-8&quo ...

  3. 学习javascript,您将发现以下两个学习指南

    学习javascript,您将发现以下两个学习指南,一个是初学者的,另一个是茄子一号经验丰富的程序员和Web开发人员的.你想学习javascript并对它有兴趣.我想这就是你来这里的原因,你做了一个明 ...

  4. Git——文件初始化及设置签名

    1. 本地库初始化 命令: git init 效果: 

  5. VS调试 启动vs报错--未启动IIS

    VS调试 启动程序报错——未启动IIS Express Web服务 解决办法: 1.关闭VS. 2.删出项目文件下的".vs"文件. 3.重新启动解决方案. 4.编译,运行OK. ...

  6. VSCode中Markdown目录显示异常

    更新最新的VSCode之后编辑Markdown文件发现TOC标签的目录格式异常,发现是因为行尾字符导致,必须设置行尾字符进行解决.

  7. 《python解释器源码剖析》第2章--python中的int对象

    2.0 序 在所有的python内建对象中,整数对象是最简单的对象.从对python对象机制的剖析来看,整数对象是一个非常好的切入点.那么下面就开始剖析整数对象的实现机制 2.1 初识PyLongOb ...

  8. Scala(一)——基本类型

    Scala语言快速入门(基本类型) (参考视频:av39126512,韩顺平281集scala精讲) 一.Linux和Windows环境安装 这部分跳过,直接使用IDEA进行搭建,和其他编程语言配置差 ...

  9. 使用VGG16完成猫狗分类

    from keras.applications.vgg16 import VGG16 from keras.models import Sequential from keras.layers imp ...

  10. 开源框架相关面试问题-okhttp网络框架面试问题详解

    OkHttp使用简介: ①.准备OkHttpClient对象: 一般app中使用网络可以全部用它,可以将它弄为全局变量,这样就可以共用它的缓存和线程池了. ②.准备Request对象: 很显然它是采用 ...