扩展运算符的作用
1.可以快速的将一个类数组集合转为纯数组
2.深拷贝数组 var arr1 = [1,2,3];
var arr2 = […arr1];
3.快速合并数组 var arr = […a,…b,…c];
4.用于解构赋值 let [a,b,c…args] = [1,2,3,4,5];
5.字符串转数组 let arr = […str];
ES6的let和const
let : 声明的变量只在 let 命令所在的代码块内有效。而var可以声明多次。
const: 声明一个只读的常量,一旦声明,常量的值就不能改变。
let的用法
1.let不能重复声明
2.变量不能提升
let 不存在变量提升,var 会变量提升:
console.log(a); //ReferenceError: a is not defined
let a = “apple”;
console.log(b); //undefined
var b = “banana”;
变量 b 用 var 声明存在变量提升,所以当脚本开始运行的时候,b 已经存在了,但是还没有赋值,所以会输出 undefined。
变量 a 用 let 声明不存在变量提升,在声明变量 a 之前,a 不存在,所以会报错。
3.块状作用域
4.let变量不属于顶层对象(window)
5.常量不能修改
6.常量名用大写
const TLURL = “http://www.myhope365.con”;
解构赋值
定义: 一种声明变量的方式,为了快速拿到对应的值
例如:基本的 let [a, b, c] = [1, 2, 3];
// a = 1
// b = 2
// c = 3
可忽略的 let [a, , b] = [1, 2, 3];
// a = 1
// b = 3
面试题:
交换a和b的值
var a = 1;
var b = 2;
var c = a;
a = b;
b = c;
不借助第三个变量交换a和b的值
let a = 1;
let b = 2;
[a,b] = [b,a];
querySelectorAll()方法
获取文档中 class=“example” 的所有元素:
var x = document.querySelectorAll(".example");
for…of…方法
for (let item of ds) {
console.log(item);
}
ES6字符串操作
includes(): 返回布尔值,判断是否找到参数字符串。
startsWith():返回布尔值,判断参数字符串是否在原 字符串的头部。
endsWith():返回布尔值,判断参数字符串是否在原字符串的尾部。
Promise案例
数组去重(面向对象的方法)
数组去重(精简版)和 冒泡排序
数组去重(最简单的方法)
反转数组(面向对象的方法)
反转字符串(面向对象的方法)
JSON.parse() 与 JSON.stringify() 简单使用