ES6,变量,函数-参数,结构赋值
变量
var
- 1.可以重复声明、
- 无法限制修改-,
- 没有块级作用域
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,变量,函数-参数,结构赋值的更多相关文章
- ES6之函数参数
ES6中对于函数参数主要增加了以下内容: 1.参数的扩展/数组的展开: 2.默认参数. 什么是参数的扩展? 看下面代码: <!DOCTYPE html> <html lang=&qu ...
- ES6学习 --函数参数默认值与解构赋值默认值
1. ES6的解构ES6中引入了解构赋值的操作,其作用是:将值从数组Array或属性从对象Object提取到不同的变量中 即分为两种情况:从数组Array中解构,以及从对象Object中解构 ①.从数 ...
- ES6必知必会 (一)—— 变量声明和结构赋值
本文章属于个人对es6一些比较常用的语法的总结归纳,其主要参考阮一峰大神的<a href="http://es6.ruanyifeng.com//">ECMAScrip ...
- ES6 变量的解构赋值
数组的解构赋值 var [a,b,c] = [1,2,3]; 左边是变量,右边是值,根据数据结构一一对应 只要等号两边的模式相同,左边的变量就会被赋予右边对应的值,必须模式相同 如果等号 ...
- ES6 - 变量的解构赋值学习笔记
变量的解析赋值 数组的解析赋值 es6允许按照一定的模式,从数组和对象中提取值,对变量进行赋值,这就称为解构. var a = 1; var b = 2; var c = 3; //在es6中允许写成 ...
- es6变量的解构赋值学习笔记
1. 解构赋值的规则是,只要等号右边的值不是对象,就先将其转为对象.由于undefined和null无法转为对象,所以对它们进行解构赋值,都会报错. let { prop: x } = undefin ...
- ES6 对象增强和结构赋值
The enhanced Object literals: ES6 has added some new syntax-based extensions to {} object literal fo ...
- ES6变量的解构赋值
变量的解构赋值 1.数组的解构赋值 2.对象的解构赋值 3.字符串的解构赋值 4.数值和布尔值的解构赋值 5.函数参数的解构赋值 6.圆括号问题 7.用途 1.数组的解构赋值 ES6 允许写成下面这样 ...
- es6—变量的解构赋值
数组的解构赋值 ]]]]]]] = []}} = {}} = {}})]: first]: last} = arr} = {}) {}))}))}) {}))}))].]]]])})] }}} = { ...
- ES6变量的解构赋值(二)对象的解构赋值
前面我们知道,数组的结构赋值需要按顺序进行赋值, let [a,,c] = [,,] console.log(a); console.log(c);//3 let [a,b] = [1];consol ...
随机推荐
- springboot学习心得
1.mvn package --加载运行一个含有pom.xml的目录并生成target目录2.mvn dependency:tree 显示项目所有依赖的树状结构3.业务委托给了Spring Boot的 ...
- JavaScript学习总结(一、变量、for和for-in循环)
一.变量 全局对象: 1. 每个javascript环境都有一个全局对象,在任意函数外都能用this访问到这个全局对象. 此外,该全局对象有一个附加属性window,通常这个window也指该全局对象 ...
- 记一次揪心的MySQL数据恢复过程
https://blog.csdn.net/poxiaonie/article/details/78304699 === 先说下背景,公司其中一个项目所有服务都部署在客户的机房内,机房较小,没有UPS ...
- ALGO-115_蓝桥杯_算法训练_和为T(枚举)
问题描述 从一个大小为n的整数集中选取一些元素,使得它们的和等于给定的值T.每个元素限选一次,不能一个都不选. 输入格式 第一行一个正整数n,表示整数集内元素的个数. 第二行n个整数,用空格隔开. 第 ...
- 【maven】之打包war依赖子项目jar
比如 p-common p-core p-dao p-service p-web service项目依赖dao,dao依赖core和common,web依赖service 在使用maven tomca ...
- Hadoop概念学习系列之谈hadoop/spark里为什么都有,键值对呢?(四十)
很少有人会这样来自问自己?只知道,以键值对的形式处理数据并输出结果,而没有解释为什么要以键值对的形式进行. 包括hadoop的mapreduce里的键值对,spark里的rdd里的map等. 这是为什 ...
- 【C#】C#操作Excel文件(转)
实现C#与Excel文件的交互操作,实现以下功能: 1.DataTable 导出到 Excel文件 2.Model数据实体导出到 Excel文件[List<Model>] 3.导出数据到模 ...
- 【C#】语音识别 - System.Speech
一个有趣的东西,今后可能用得上. C#语音识别:在命名空间 System.Speech下SpeechSynthesizer可以将文字转换成语音 贴出代码: public partial class F ...
- 新建本地仓库,同步远程仓场景,出现git branch --set-upstream-to=origin/master master 解决方法
1.本地创建一个本地仓库 2.关联远程端:git remote add origin git@github.com:用户名/远程库名.git3.同步远程仓库到本地git pull这个时候会报错If y ...
- mina2的processor
processor顾名思义,就是进行IO处理,处理当前session的数据读写,并进行业务处理. 在mina server初始化的时候,会初始化一个processor池,通过NioSocketAcce ...