一、变量声明关键字
1、var:全局作用域和函数作用域,可以变量提升
2、let:局部作用域,不会变量提升,不能重复声明
3、const:值类型不可修改,声明必须赋值,一般大写
二、结构
1、数组
定义:把数组或对象解析为单独变量
(1)基本格式
var[a,b,c="default",...rest]=arr
(2)逗号代表下一位
(3)...rest 剩余所有的(只能放在最后)
(4)可以有默认值
(5)交换变量[a,b]=[b,a]
2、对象
(1)基本格式
var{name,age,say="123",...rest}=obj
(2)对象解构没有顺序
三、展开
...arr:arr展开为单独变量
四、字符串
1、字符串模板
`${js变量}` 可以换行,可以加特殊符号
2、遍历
for(var s of arr)
3、单词
includes() 是否包含
startsWith() 以···开头
endsWith() 以···结尾
trim() 去掉两端空白
trimLeft() 去掉左边空白
trimRight() 去掉右边空白
repeat(n) 字符串重复n遍
padStart(次数,填充字符串) 在字符串前面填充
padEnd(次数,填充字符串) 在字符串后面填充
五、数组高阶方法
1、forEach 遍历
arr.forEach(function(item,index,self){})
item:当前遍历的元素
index:当前元素的下标
self:当前数组
2、map 映射
arr.map(function(item,index,self){}) 返回一个映射数组
3、filter 过滤
arr.filter(function(item,index,self){})
当返回的值为真时,当前元素保留
当返回的值为假时,当前元素被过滤掉
4、reduce 累计
arr.reduce(function(a,b){}) a是上一次返回的结果
5、some 有一个
有一个返回的结果为true时,最终结果为true
6、every 每一个
当每一个返回的结果为true时,最终结果为true
7、find 查找元素
查找符合条件的元素
8、findIndex 查找下标
查找符合条件的元素的下标
9、sort((a,b)=>a-b) 排序
六、箭头函数
1、箭头函数省略function
2、=>左边参数
3、箭头右边:函数体、返回值
4、参数0个或者多个都要加上()
5、如果函数体有多行需要加上{},如果需要返回值:return
6、如果返回的是一个对象,则用()包裹对象
七、函数
1、默认函数
function fn(a=10,b=20){}
2、扩展参
fn(...arr)
3、不定参
function(...arr){}
八、对象
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(); t
his.major=major;
}
}
十、模块
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()
别名 import Square,{name,fun as fn} from'./api.js'
2、导出
export(name,fun,Square}导出多次
export default Square;默认只能导出一次
十一、set
定义:没有重复元素的集合(数组)
1、初始化:
var s1=new Set()
var s2=new Set([ ])
2、添加s1.add()
3、删除 s1.delete()
4、情况 s1.clear()
5、检测 s1.has()
6、长度 s1.size
7、转数组 Array.from(s1)[...s1]
8、数组去重
arr1=[...new.Set(arr)]