首先,以下ES6的新东西基本都有兼容性问题 。
1.可以用let来声明变量,它与var的区别。
1.let不会进行变量提升。
2.变量不允许重复定义
3.变量不允许被删除。
4.在for循环中,可以保留循环变量的值,循环变量只能在当前作用域中使用(凡是被{ }都是块级作用域,除对象以外)。
2.用const声明变量
在声明常量或声明不可修改的变量的时候使用const,它也不会进行变量声明提升,常量不允许被删除
与字符串相关的东西
3.字符串模板
用` `定义字符串模板,传递参数用${表达式}
例: var arr=[4,6,8]; str=`<div>${arr[0]}</div>`;
4.include 匹配当前字符串中是否有相对应的字符,如果存在返回true
语法:str.include("要匹配的字符或字符串");
5.startWith 匹配当前字符是否是首字符。语法同上。
6.endWith:匹配当前字符是否是尾字符。语法同上。
7.repeat(n) 重复当前字符串,n是次数
例:var str="sdjkjl";
console.log(str.repeat(3)); //sdjkjlsdjkjlsdjkjl
与数组相关的新东西
for of 循环
var arr=[w,t,6,4];
for(var val of arr){
console.log(val); //w,t,6,4
}
for(var i of arr){
console.log(i); //0,1,2,3
}
for of与for in的区别
for in打印的是数组的每一个下标,for of打印的是数组的每一个值
结构赋值
var [input1,inout2="222",input3="333"]=document.getElementByTagName("input");
input1对应页面上的第一个input,以此类推,如果页面上没有这个input(比如页面上只有2个input,中括号里有3个变量,第三个变量的值就为333),则为等号后面的内容,
箭头函数 一般情况下,箭头函数使用的场景为回调函数
function fn(){ } 改为 var fn()=>{ }
var fn=function(){ } 改为 var fn=()=>{ }
箭头函数 它的this指向定义时的那个对象,不是调用的那个对象,可以理解为指向上下文的this
set集合: 一种新的数据结构,var set new Set(),参数是一个数组,
特点:存储的数据没有重复的,也是最快的去重方式
常用方法:
add() 添加 set.add(要加入的元素)
delete() 删除
has() 查出,找到返回true,否则返回false
clear() 清除,清楚全部