变量

var

  1. 1.可以重复声明、
  2. 无法限制修改-,
  3. 没有块级作用域

let
不能重复声明,变量-可以修改,块级作
const
不能重复声明,常量-不能修改,块级作

函数——箭头函数function 名字(){}()=>{}
1.如果只有一个参数,()可以省
2.如果只有一个return,{}可以省

()——只有一个参数{}——只有一个return

 1 <script>
2 /*原来的写法*/
3 let arr = [1, 2, 3, 10, 50, 21, 52]
4 arr.sort(function (n1, n2)
5 {
6  returt n1-n2;
7 })
8 alert(arr)
9
10 /*简写*/
11 let arr1 = [1, 2,212, 3, 10, 50, 21, 52]
12 arr1.sort((n1, n2)=> {
13 return n1-n2
14 })
15 alert(arr1)
16 </script>

函数的参数
1,收集剩余的参数
function show(a,b,...args)
...args后面的参数会收集起来,它是一个数组参数不固定
参数(Parameter)必须是最后一个
2,展开数组
let arr1=[1,2,3]
let arr1=[4,5,6]
let arr=[...arr1,...arr2]
alert(arr)
展开后的效果,跟直接把数组的内容写在这儿一样

默认参数
function show(a,b=2,c=50) { 
return a+b+c; 
}

alert(show(12))

结果:74

//未写入的参数会直接拿这儿用

结构赋值

 1                  //1.左右两边结构必须一样
2 //2.右边必须是个东西(json,数组..)
3 //3.声明和赋值不能分开(必须在一句话里完成)
4 let [a,b,c]=[12,5,8];
5
6 let {a,b,c}={a: 12, b: 5, c: 8};
7
8 let [{a,b},[n1,n2],num,str]=[{a:12,b:20},[50,100],2500,"张三"];
9
10 console.log(a,b,n1,n2,num,str)

甚至可以不用临时变量解决“交换两个变量”这个经典问题:

var x = , y = ;
[ y, x ] = [ x, y ];
console.log( x, y ); // 20 10

里面的东西在复杂也是ok的

ES6,变量,函数-参数,结构赋值的更多相关文章

  1. ES6之函数参数

    ES6中对于函数参数主要增加了以下内容: 1.参数的扩展/数组的展开: 2.默认参数. 什么是参数的扩展? 看下面代码: <!DOCTYPE html> <html lang=&qu ...

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

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

  3. ES6必知必会 (一)—— 变量声明和结构赋值

    本文章属于个人对es6一些比较常用的语法的总结归纳,其主要参考阮一峰大神的<a href="http://es6.ruanyifeng.com//">ECMAScrip ...

  4. ES6 变量的解构赋值

    数组的解构赋值     var [a,b,c] = [1,2,3];    左边是变量,右边是值,根据数据结构一一对应 只要等号两边的模式相同,左边的变量就会被赋予右边对应的值,必须模式相同 如果等号 ...

  5. ES6 - 变量的解构赋值学习笔记

    变量的解析赋值 数组的解析赋值 es6允许按照一定的模式,从数组和对象中提取值,对变量进行赋值,这就称为解构. var a = 1; var b = 2; var c = 3; //在es6中允许写成 ...

  6. es6变量的解构赋值学习笔记

    1. 解构赋值的规则是,只要等号右边的值不是对象,就先将其转为对象.由于undefined和null无法转为对象,所以对它们进行解构赋值,都会报错. let { prop: x } = undefin ...

  7. ES6 对象增强和结构赋值

    The enhanced Object literals: ES6 has added some new syntax-based extensions to {} object literal fo ...

  8. ES6变量的解构赋值

    变量的解构赋值 1.数组的解构赋值 2.对象的解构赋值 3.字符串的解构赋值 4.数值和布尔值的解构赋值 5.函数参数的解构赋值 6.圆括号问题 7.用途 1.数组的解构赋值 ES6 允许写成下面这样 ...

  9. es6—变量的解构赋值

    数组的解构赋值 ]]]]]]] = []}} = {}} = {}})]: first]: last} = arr} = {}) {}))}))}) {}))}))].]]]])})] }}} = { ...

  10. ES6变量的解构赋值(二)对象的解构赋值

    前面我们知道,数组的结构赋值需要按顺序进行赋值, let [a,,c] = [,,] console.log(a); console.log(c);//3 let [a,b] = [1];consol ...

随机推荐

  1. 支付宝内部功能调用APP的said说明

    追加: 支付宝收款码 alipayqr://platformapi/startapp?saId=20000123   微信扫一扫 weixin://scanqrcode (跳转微信扫一扫) 支付宝扫一 ...

  2. 前端大神讲解,初级程序与高级程序写表格变色的区别,dom 0 与dom 1

    我们在遇到表格行数太多时,往往会眼花缭乱,下一行看成对应上一行.就要遇到写鼠标移动那行,那行高亮显示. 这里用到一个this关键字: 在面向对象里,this代表对象本身. 在这里只要记住,谁调用这个函 ...

  3. Modbus RTU 协议使用汇总

    原创地址:https://blog.csdn.net/u012166958/article/details/64920144 标准的Modbus 口是使用RS-232C 兼容串行接口,它定义了连接口的 ...

  4. Azure SQL Database (26) 使用Query Store对Azure SQL Database监控

    <Windows Azure Platform 系列文章目录> 我们在使用Azure SQL Database的时候,需要对数据库的性能进行监控,这时候就可以有两种方法: 1.第一种方法, ...

  5. mysql数据字典 如何生成?

    用phpMyAdmin查看表结构,点击 打印预览. &amp;lt;img src="https://pic3.zhimg.com/50/3205ff3bd3da067528f4c1 ...

  6. String[]字符串数组,按字典顺序排列大小

    package ltb6w1; public class WordSort1 { private String[] a= {"hello","world",&q ...

  7. rsync同步目录

    -a, --archive archive mode; equals -rlptgoD (no -H,-A,-X) -r, --recursive recurse into directories - ...

  8. STL进阶--删除元素

    删除元素 从vector或deque删除元素 vector<int> vec = {1, 4, 1, 1, 1, 12, 18, 16}; // 删除所有的1 for (vector< ...

  9. C++进阶--命名空间和关键字using

    //############################################################################ /* * C++关键字:using * * ...

  10. db2报错: [DB2/NT] SQL0952N 由于中断,处理被取消 SQLSTATE=57014

    DB2被中断,报错:  [DB2/NT] SQL0952N 由于中断,处理被取消 SQLSTATE=57014 在DB2的开发过程中,今日运行了一个执行时间较为长的sql语句.使用DB2服务端的控制台 ...