个人总结
这次是我创建博客,第一次开始写博客。目前来讲我写博客的目的有两个
1,学习的总结。2,个人文档能力的提升。
话不多说开始
学习总结
一, ES6的全称ECMAScript6
二,变量的声明
1,let变量声明
a,let变量是局部变量(只在最近的一个{}中作用)
b,let变量不能重复声明
c,let变量不能变量提升(js预编译时,会把变量提前赋一个初始值)
2,conset变量声明
a,conset声明变量时,必须赋值
b,conset变量一旦赋值就不能修改(值类型)
c,建议conset变量名全部大写
三,数据类型
1,值类型
数字 number , 字符串 string, 布尔 Boolean ,undefined
2,引用类型
数组 Array 对象 Object null 函数
四,数组的解构
1,基本
let arr=[1,3,4,5,6];
let [a,b,c,d]=arr;
console.log(a,b,c,d);
运行结果
把数据j解构,就是把数组按照一定的规则解构为单独变量
2,跳过
let arr=[2,4,6,7,8];
let [a,,,,b]=arr;
console.log(a,b);
运行结果
3,剩余
let obj={name:'zxl',age:12,gender:'男'};
let {name,...last}=obj;
console.log(name,last);
运行结果
4,默认值 在解构时我们可以给一个默认值,如果有我们解构的变量对应有值,那么就去对应的值,如果没有对应的值,我们就去默认值
let arr=[2,3];
let [a,b,c=100]=arr;
console.log(a,b,c);
运行结果
5,用解构实现浅拷贝
console.log(arr,arr1);
let arr=[1,2,3];
let arr1=[...arr];
arr1[0]=0;
console.log(arr,arr1);
运行结果
五,对象的解构
1,基本
let obj={name:'zxl',age='18'};
let {name,age}=obj;
console.log(name,age);
运行结果
zxl 18
2,省略
let obj={name:'zxl',age:12,gender:'男'};
let {name,...last}=obj;
console.log(name,last);
运行结果
3,默认值
let obj={name:'zxl',age:12,gender:'男'};
let {name,address="河南"}=obj;
console.log(name,address);
运行结果
zxl ,河南
4,复制
let obj={name:'zxl',age:12,gender:'男'};
let obj2={...obj};
obj.name='zaa';
console.log(obj,obj2)
运行结果
六,新方法
1,ES5的方法
1,
trim()去除字符串两边的空格
trimLeft()去除字符串左边的空格
trimRight()去出字符串右边的空格
2,repeat ()重复
2,ES6的新方法
1,字符串的检测
includes(str),判断这个字符串中是否包含 str
startsWith(str),判断这个字符串是否已str开头
endsWith(str),判断这个字符串是否以str结尾
2,充填
padStart(位数,要充填的字符串)
padEnd(位数,要充填的字符串)
3,字符串模板
··
七,ES5的数组高阶方法
1,foreach(function(item,index,self){})
2,map(function(a,b){
}) 映射
3,filter 过滤
4,reduce 累计
5,some 有项
6,every 全部
7,sort 排序
8,fill (从哪位开始,fill数据start位置fill数据end位置)
9,find 按条件查找
10,findIndex 查找符合条件数据的索引
八,函数
1,箭头函数
箭头函数函数简写方式
1, 组成: 参数=> 语句
2,参数不是一个:(参数一,参数二)=>语句
3,如果多条语句,参数=>{语句}
4,返回对象 参数=>({对象})
箭头函数this指向上一层作用域
2,默认参数
function add(a=10,b=12){}
如果a,b=undefined,则a,b的值为默认值
3,不定参数
function add(…args){}
add(1,2) ,此时 args=[1,2];
add(1,2,3),此时args=[1,2,3];
4,扩展参
var arr=[1,3,4,5]
function add(a,b,c,d){
return a+b+c+d;
}
add(…args)
调用函数吧arr展开
5,apply ,cell ,bind
1,apply 执行函数 ,对象冒充 ,参数数组
2,cell 执行函数 , 对象冒充,参数单个
3,bind 创建函数 ,对象冒充,参数默认值
九,类
定义 class Cat{ constructor()}
1,初始化
var cat=new Cat();
2,继承
class cat extends Animal{}
3,方法
4,属性
5,封装
set Cat()
get Cat()
5,调用父类构造函数
super()
6,静态方法
static
7,静态属性
使用 static关键字修饰,可以直接用类名.属性调用
十,数据类型
1,set
1,size()长度
2,add()添加
3,delete()删除
4,clear()清空
5,for of 清空
6,has () 检测是否有
特点,不重复
2,map
1,new Map([[k,v],[]])
2,set(k,v)添加
3,get(k) 获取
4,has()检测
5,clear()清空
6,for of 遍历
7,delete()删除
3,Symbol 符号
1,创建 var s1=Symbol(“red”)
2,符号是唯一的
3,常用于创建obj的key
4,迭代器
1,可迭代对象
string 字符串 array 数组 set 集合 map 键值对
var arr=["你","是","谁"];
for(let i of arr){
// console.log(i)
}
for(let i of arr.keys()){
console.log(i)
}
for(let [k,v] of arr.entries()){
console.log(k,v)
}
for(let i of arr.values())
{
console.log(i);
}