第一部分 变量的声明与其关键字
关键字 | 关键字特点 | ||
var | 全局作用域和函数作用域 | 会变量提升 | |
let | 局部变量 | 不会变量提升 | 不能重复声明 |
const | 局部变量 | 值类型不能修改 | 声明必须赋值且一般大写 |
第二部分 解构
定义:把数组或对象解析为单独变量
基本格式为:var [a,b, ,c='deault',...rest]=arr
其中逗号代表下一位;...rest表示为剩余所有且只能放在最后;
可以有默认值,交换变量的方法为[a,b]=[b,a]
对象:var {name,age.say="love you",...rest}=obj
对象的解构没有顺序。
第三部分 展开和字符串
展开 | ...arr | arr展开为单独变量 | |
字符串模板 | `$(js变量)`可以换行,可以添加特殊符号 | ||
字符串遍历 | for(v of n) | ||
字符串检测 | includes(sub)是否包含 | starsWidth(sub)以开头 | endsWidth(sub)以结尾 |
字符串去空白 | trim()去掉两端空白 | trimLeft()去掉左面空白 | trimRight()去掉右边的空白 |
字符串重复 | repeat(n)字符串重复n次 | padEnd(次数,填充字符串) |
第四部分 数组的高阶方法
forEach遍历 | arr.forEach(function(item,index,self){}) | item 遍历当前元素 | index 当前元素的下标 | self 当前数组 | |||
map 映射 | arr.forEach(function(item,index,self){ //返回一个,映射数组 }) | ||||||
filter 过滤 | arr.filter(function(item,index,self){ //返回真,当前遍历元素保留 //返回假,当前遍历元素过滤掉 }) | ||||||
resuce 累计 | arr.reduce(function(a,b){ a是上一次返回结果 }) | ||||||
some 有一个 | 有一个返回结果为true,最终结果为true | ||||||
every 每一个 | 每个返回为true,最终结果为true | ||||||
find 查找元素 | 查找符合条件的元素 | ||||||
findIndex 查找下标 | 查找符合条件的元素下标 | ||||||
sort((a,b)=>a-b)从小到大排序 sort((a,b)=>b-a)从大到小 |
第五部分 箭头函数
01、箭头函数省略function
02.、书写方法为: () => 左边参数,箭头右边 函数体、返回值
03、传参0个或者2个以上 参数加上括号
04、如果函数体有多行需要加上{} 如果需要返回值return
05、如果返回的是一个对象则用()包裹对象({})
06、 箭头函数中的this指向上一层作用域的this
第六部分 对象
1.对象简写:变量和值简写;函数function简写
var name="mumu"
var obj={
name,
say()alert(this.name)}
}
2.对象动态属性:{[nick+"msg"]}:"你好呀"
第七部分 类
1、面向对象基本特点:封装,继承,多态,接口
2、常用单词:extends 继承、constructor 构造函数、super 超类、static 静态
3、定义类类方法:
class Person {
constructor(name,age){
this.name=name;
this.age=age;
}
say(){
alert(“你好”)
}
}
4、实例化类:var p1 =new Person()
5、类中的this:Person类中的this指向,当前类的实例(p1)
6、继承:
class Teach extends Person {
constructor(name,age,major){
super();
this.major=major;
}
}
第八部分 模块module
1、导入:import{name,fun,Square}from'./api.js'
import Square from'./api.js'
import Sq from './api.js'
别名 as ,* 代表所有
import * api from './api.js'
api.name;api.fun()
2、导出:export{name,fun,Square} 导出多次
export default Square; 默认只能导出一次
第九部分 Set
1、定义:没有重复元素的集合(数组)
2、初始化:
var s1=new Set()
var s2=new Set([1,2,5])
3、添加:s1.add();删除:s1.delete();清空:s1.clear();检测:s1.has();长度:s1.size
转数组:
Array.from(s1)
[...s1]
4、数组去重: arr1=[...new Set(arr)]