变量

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. Myeclipse 配置Git详解

    Myeclipse+Git EGit安装 MyEclipse已经集成了Git插件EGit,在window->Preference里搜索git可以看到.   如果没有,安装方式为Help-> ...

  2. InfluxDB v1.6.4 下载

    InfluxDB v1.6.4 OS X (via Homebrew) brew update brew install influxdb Docker Image docker pull influ ...

  3. Ntfs 下的链接符号创建

    熟悉过 Unix/Linux 都应该知道,Unix/Linux 用 ln 建立硬链接,ln -s 建立软链接(符号链接). 硬链接和符号链接的区别 Ntfs下的也有链接符: 内置命令:mklink   ...

  4. VC禁止或允许拖拽改变窗口尺寸

    创建窗口时用WS_THICKFRAME控制 BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !CMDIFrameWndEx:: ...

  5. 【springboot】之将properties配置转为bean

    将springboot里面非application.yml 或者application.properties 里面的key-value转为JavaBean /** * @Describe: DataS ...

  6. vue父子组件(1.0)

    1.父子组件 在上一篇随笔中展示了vue的组件,当我们继续在组件中写组件,形成组件嵌套的时候,就是我们所说的父子组件了. <!DOCTYPE html> <html lang=&qu ...

  7. vue之v-bind

    接触Vue已经有很长一段时间了,后来因为工作的原因,已经有差不多一年的时间没有碰过它了,害怕时间久,自己就完全忘记了,所以还是想抽出一点时间将以前的知识整理一下. 刚接触vue的时候,觉着最神奇的地方 ...

  8. 即用了 测试脚本里面的 类的值,又继承了 unittest类 使用他的断言方法 (接口自动化 数据分离 变量相互调用 看这里)

  9. python 判断返回结果 in用法

    AA=data[0]["content"] if U"已签收" in AA:(判断 AA里面有没有包含 "已签收的字样") print &q ...

  10. 廖雪峰Java2面向对象编程-1面向对象-1面向对象基础

    1.对象的概念 面向对象编程:Object-Oriented Programming 对现实世界建立计算机模型的一种编程方法. 现实世界 计算机模型 Java代码 人 类/class class Pe ...