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