一,概念
1.ES6 :ESMAScript 6,新的javascript语法标准 2015正式推出
2.为了js更加快捷与方便
二,变量声明
1.var
全局作用域
函数作用域
没有 if,switch,for,while,do,else作用域
会变量提升
2.let 局部变量
局部作用域,(在一对{}启用)
不能变量提升
在一个作用域里面不能重复声明
3.const 常量
let 一样
变量名建议大写
声明必须赋值
值类型不允许修改
三,解构
1.数组
var [a,b,,c=20,...rest] = [1,2,3,4,5,6];
解析:
有顺序的 | |
---|
[] | 解构符号 |
, | 一位 |
…rest | 剩余 |
c=10 | 默认参数 |
2.对象
var {name,age,leg=20,...rest} = obj;
解析:
四,字符串ES6扩展方法
1.includes查找是否包含,返回的是true或者false
(以前用的是indexOf,lastindexOf,返回的是下标或者-1
2.字符串模板
``定义字符串,用${}定义js
属性 | 中文 |
---|
trim | 移除空白 |
repeat | 重复 |
startWith | 以…开头 |
endWidth | 以…结尾 |
五,字符串
1.遍历
for
for of遍历
for(let s of str){
console.log(s)
}
2.检测
属性 | 返回 |
---|
indexOf,lastIndexOf | :返回值下标 |
includes(查找字符串) | true false |
startsWith(查找字符串) | true false |
endsWith(查找字符串) | true false |
3.填充
属性 | 含义 |
---|
repeat | (重复的次数) |
padStart | (填充总位数,填充字符串) |
padEnd | (填充总位数,填充字符串) |
4.拼接
1. +
2. ``+${}
var str = `你好帅呀,能做我的${num}号
男朋友吗?`
六,数组
1.Array.from (类数组) 把类似数组转换数组
2.高阶方法
——————————————————————————————————
forEach(function(item,index,self){})
解析:
属性 | 含义 |
---|
item | 遍历的元素 |
index | 元素的下标 |
self | 数组本身 |
1. map() 映射一个数组
2.filter(item=>true保留||false过滤掉) 过滤
3.reduce() 累计
4. some() 有一true,整体返回true
5.every() 有一个返回false,整体返回false
6.find() 查找符合条件的元素
7.findIndex() 查找符合条件的元素
8.sort((a,b)=>a-b) 排序
—————————————————————————————————
3.includes 检测是否包含
4.fill() 填充数组
七,函数
1.箭头函数 (箭头函数就是函数的简写形式)
0.1 箭头左边:参数
0.2 箭头右边:返回值
例:
var fun = function(str){
return "love"+str;
}
var fun = str=>"love"+str;
2.参数 (0个或多个参数要用括号包括)
例:
var fun = function(){alert("我爱ES6")}
var fun = ()=>alert("我爱ES6")
var fun = function(a,b){alert(a+b)}
var fun2 = (a,b)=>alert(a+b);
fun(4,5)
3.返回值 (如果返回是一个对象,那么用括号包裹)
例:
var fun = function(){
return{name:"mumu",age:18};
}
var fun2 = ()=>({name:"mumu",age:18});
console.log(fun2())
4.执行语句 (如果执行有多行,返回语句要用return 执行语句要用{} 包裹)
例:
var fun = function(str){
if(str.includes('罗斯')){
return "皇大帝"
}else{
return "金汗国"
}
}
var fun = str=>{
if(str.includes('罗斯')){
return "皇大帝"
}else{
return "金汗国"
}
}
alert(fun2('puting'))
八,函数参数
1.默认参数
function say(str="我爱你"){}
say();
say("我很你");
2.扩展参数(执行)
function metting(a1,a2,a3){}
var arr = ["A","B","D"];
metting(...arr);
3.不定参(定义)
function add(...list){
return list.reduce((a,b)=>a+b);
}
九,类
属性 | 含义 |
---|
class | 类 |
extends | 继承 |
super | 父构造函数(要在所有方法最前面执行) |
constructor | 构造函数 |
this | 指向实例 |
static | 静态的 |
new Box() | 实例化类 |