闭包
定义:闭包(closure)是指有权访问另一个函数作用域中变量的函数
作用:延伸了变量的作用范围
递归
定义: 如果一个函数的内部可以调用其本身,那么这个函数就是递归函数(简单理解就是函数内部自己调用自己,这个函数就是递归函数)
注意: 在递归函数里必须加退出条件
典型例子: 菲波那切数列
浅拷贝和深拷贝
浅拷贝:
Object.assign(拷贝目标,被拷贝对象) 这是浅拷贝的一个语法糖
关键字
let关键字:
1.作用于块级作用域
2.没有变量提升
3.具有暂时性死区特性
var关键字:
1.作用于全局
2.变量会提升
const关键字:
1.块级作用
2.关键字必须赋初始值
3.声明常量,值不可更改(指定的内存地址不可更改)
箭头函数
() => {
}
在箭头函数中,如果函数体中只有一句代码,并且代码的执行结果就是函数的返回值
函数体中的大括号可以省略
const sum = (n1,n2) => n1 + n2
在箭头函数中 如果形参只有一个 形参外侧的小括号也是可以省略的
const fn = v =>{
alert(v)
拓展运算符
拓展运算符可以将数组或者对象转为用逗号分隔的参数序列
拓展运算符可以进行数组合并
可以把伪数组转换为真正的数组
find()方法:
findIndx()方法:
includes()方法:
模板字符串: 这是模板字符串
1.可以解析变量
在模板字符串中不用+来连接可以用 ${ } 来连接
2.模板字符串可以进行换行
3.可以调用函数
startWidth()和endWidth()方法
set()方法: