变量声明关键字
var
全局作用域和函数作用域
会变量提升
let
局部作用域
不会变量提升
不能重复声明
const
值类型不能修改
声明必须赋值
一般大写
解构
数组
定义:把数组或对象解析为单独变量
1.基本格式
var [a,b,c = "love",...rest]=arr
2.逗号代表下一位
3. ...rest
剩余的所有(只能放在最后)
4. 可以有默认值
5.交换变量
[a,b]=[b,a]
对象
var{name,age,say="love you", ... rest}=obj
对象解构没有顺序
展开
...arr
arr展开为单独变量
字符串
字符串模板
`$(js变量)`
可以换行,可以加特殊符号
遍历
for of
检测
includes(sub)是否包含
startsWith(sub)以什么开头
endsWith(sub)以什么结尾
去掉空白
trim()去掉两端空白
trimLeft()去掉左空白
trimRight()去掉右空白
重复
repeated(n)字符串重复n次
填充
‘22’.padStart(4,'0')
"0022"
.padEnd(次数,填充字符串)
数组高阶方法
forEach
遍历
arr.forEach(function(item,index,self){})
item
当前遍历的元素
index
当前元素的下标
self
当前数组
map
映射
arr.map(function(item,index,self){
//返回一个,映射的数组
})
map
映射
arr.map(function(item,index,self){
//返回一个,映射的数组
})
reduce
累计
arr.reduce(function(a,b){
a是上一个返回的结果
})
some
有一个
有一个返回结果为true 最终结果为true
every
每一个
每一个返回结果为true 最终结果为true
find
查找元素
查找符合条件的第一个元素
findIndex
查找元素下标
查找符合条件的第一个元素的下标
sort((a,b)=>a-b)
排序
箭头函数
01 箭头函数省略function
02 => 左边参数
03 箭头右边 函数体,返回值
04 传参0个或2个以上,参数加上()括号
05 如果函数体有多行需要加上{}大括号
06 如果返回的是一个对象,则用括号包裹对象({})
07 箭头函数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 p2 = new Person()
类中的this
Person 类中的this指向,当前类的实例(p2)
继承
class Teach extends Person{
constructor(name,age,major){
super();
this.major=major;
}
}
模块
module
导入
import{name,fun,Square} from "./api.js"
import Square from "./api.js"
import Sq from "./api.js"
别名 as *代表所有
import * aip 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 Ste([1,2,3])
添加:
s1.add()
删除:
s1.delete()
清空:
s1.clear()
检测
s1.has()
长度
s1.size
转数组
Array.from(s1)
[...s1]
数组去重
arr1 = [...new Set(arr)]