• 参数默认值

1、普通参数

  1. function info(age,name="grace"){
  2. console.log(name);
  3. }
  4. info(); //输入:grace

2、对象参数【参数为对象时,不输入任何参数,需要进行处理】

  1. //Handling named parameters【tip:参数name与传递进来的对象中的属性名name需要一一对应】
  2. function selectEntries({ name=0, end=-1, step=1 }) {
  3. console.log(name);
  4. }
  5. selectEntries({name:"Jane"});//结果:Jane
  6.  
  7. //selectEntries();//error: Cannot match against 'undefined' or 'null'.针对这一问题给出下面函数的处理方案
  8.  
  9. function selectEntries2({ name="lea", end=-1, step=1 }={}) {
  10. console.log(name);
  11. }
  12. selectEntries2();//结果:lea
  • 扩展运算符

1、基本用法【函数传参】

  1. //2、From arguments to rest parameters【...】
  2. function allArgs(...args) {
  3. console.log(...args);//结果:2,3,4,5
  4. console.log(args);//结果数组:[2,3,4,5]
  5. for (const arg of args) {
  6. console.log(arg);
  7. }
  8. }
  9. allArgs(2,3,4,5);

2、Math中的应用

  1. //【func.call(obj,arg1,arg2,......]】【上面是为了检测数组中最大的值,所以用apply,此处的call仅用于巩固】
  2. const max1 = Math.max.call(null,-1,5,11,3);
  3. console.log(max1); //结果:11
    //es5【func.apply(obj,[arg1,arg2,......]】
    const max = Math.max.apply(null, [-1, 5, 11, 3]);
    console.log(max); //结果:11
  1. //es6
  2. const max2 = Math.max(...[-1, 5, 11, 3]);
  3. console.log(max2); //结果:11

3、数组的push

  1. //向一个数组添加一个数组的数据【改变原数组】
  2. let arr = ['lea'];
  3. arr.push('joa','pia');//添加单个值
  4. console.log(arr);//结果:[ 'lea', 'joa', 'pia' ]
  5. //es5
  6. arr.push.apply(arr,['a','b']);//通过数组添加
  7. console.log(arr);//结果:[ 'lea', 'joa', 'pia', 'a', 'b' ]
  8.  
  9. //es6
  10. arr.push(...['a','b']);//将数组解析为多个值
  11. console.log(arr);//结果:[ 'lea', 'joa', 'pia', 'a', 'b', 'a', 'b' ]

4、合并数组

  1. //合并数组
  2. let arr = ['lea'];
  3. //es5 concat,【返回新的数组,不影响原数组】
  4. console.log(arr.concat([2,4]));//结果:[ 'lea', 2, 4 ]
  5.  
  6. //es6
  7. console.log([...arr,...['cd']]);//结果:[ 'lea', 'cd' ]

es6中参数【默认值,扩展运算符】的更多相关文章

  1. ES6函数参数默认值作用域的模拟原理实现与个人的一些推测

    一.函数参数默认值中模糊的独立作用域 我在ES6入门学习函数拓展这一篇博客中有记录,当函数的参数使用默认值时,参数会在初始化过程中产生一个独立的作用域,初始化完成作用域会消失:如果不使用参数默认值,不 ...

  2. [ES6系列-03]ES6中关于参数相关特性详解(参数默认值与参数解构赋值与剩余参数)

    [原创] 码路工人 大家好,这里是码路工人有力量,我是码路工人,你们是力量. 今天总结一下 ES6 中跟参数相关的内容. 欢迎补充斧正.留言交流. 让我们互相学习一起进步. 1. ES6 参数默认值( ...

  3. ES6笔记之参数默认值(译)

    原文链接:http://dmitrysoshnikov.com/ 原文作者:Dmitry Soshnikov 译者做了少量补充.这样的的文字是译者加的,可以选择忽略. 作者微博:@Bosn 在这个简短 ...

  4. ES6 随记(3.4.1)-- 函数的拓展(参数默认值,扩展运算符)

    上一章请见: 1. ES6 随记(1)-- let 与 const 2. ES6 随记(2)-- 解构赋值 3. ES6 随记(3.1)-- 字符串的拓展 4. ES6 随记(3.2)-- 正则的拓展 ...

  5. es6(三):es6中函数的扩展(参数默认值、rest参数、箭头函数)

    1.函数可以设置参数默认值 function test1(x,y=1){ console.log(x,y) } test1(10)//10 1 2.rest参数:形式为...变量名 function ...

  6. ES6 - 函数扩展(函数参数默认值)

    函数参数默认值 ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法. function log(x, y) { y = y || 'World'; console.log(x, y); ...

  7. ES6中函数参数默认值问题

    参数默认值 // 以前的参数默认值写法 let fn = (a, b) => { a = typeof a === "undefined" ? 10 : a b = type ...

  8. ES6学习 --函数参数默认值与解构赋值默认值

    1. ES6的解构ES6中引入了解构赋值的操作,其作用是:将值从数组Array或属性从对象Object提取到不同的变量中 即分为两种情况:从数组Array中解构,以及从对象Object中解构 ①.从数 ...

  9. ES6参数默认值

    参数默认值 1.首先,来看一下es5中的函数默认值 var a = a || 10; var b = b || "none" // 当a的值或者b的值为undefined时,根据逻 ...

随机推荐

  1. 原生js封装添加class,删除class

    一.添加class function addClass(ele,cName) { var arr = ele.className.split(' ').concat(cName.split(" ...

  2. 【Spring源码深度解析学习系列】默认标签解析(三)

    Spring的标签包括默认标签和自定义标签两种 默认标签的解析方法: ###DefaultBeanDefinitionDocumentReader.java### private void parse ...

  3. Software Engineering-HW3 264&249

    title: Software Engineering-HW3 date: 2017-10-05 10:04:08 tags: HW --- 小组成员 264 李世钰 249 王成科 项目地址 htt ...

  4. CPP链表示例

    #include<iostream> #include<stdlib.h> using namespace std; typedef struct Student_data { ...

  5. PID控制示例C编程

    typedef struct PID_zhs { double P,I,D;//P.I.D系数 float curError;//当前误差 float lastError;//上次误差 float p ...

  6. memmove 和 memcpy的区别以及处理内存重叠问题

    区别: memcpy和memmove()都是C语言中的库函数,在头文件string.h中,作用是拷贝一定长度的内存的内容,原型分别如下: void *memcpy(void *dst, const v ...

  7. python脚本,计算起点终点高程

    import arcpy >>> import arcpy ... gd="D:/项目/shp/Pipe.gdb/ZK/GDPOINT" ... gx=" ...

  8. MSSQL 2000 错误823恢复

    一.故障描述 MSSQL Server 2000 附加数据库错误823,附加数据库失败.数据库没有备份,不能通过备份恢复数据库,急需恢复数据库中的数据. 二.故障分析SQL Server数据库 823 ...

  9. Python内置函数(3)——max

    英文文档: max(iterable, *[, key, default]) max(arg1, arg2, *args[, key]) Return the largest item in an i ...

  10. Python-面向对象(二)-Day7

    1.字段 12.方法 43.属性 63.1.属性的基本使用 73.2.实例:对于主机列表 83.3.属性的两种定义方式 94.对于类的成员而言都有两种形式: 144.1.私有成员和公有成员的访问限制不 ...