一、变量声明关键字
var:
1.全局作用域和函数作用域
2.变量提升
let:
1.局部作用域
2.不会变量提升
3.不能重复声明
const:
1.值类型不能修改
2.声明必须赋值
3.一般大写
二、解构
数组:
定义:把数组或对象解析为单独变量
基本格式:var [a,b,,c="default",...rest] = arr
逗号代表下一位
...rest代表剩余的所有(只能放在最后)
可以有默认值
交换变量:[a,b] = [b,a]
对象:
var {name,age,say="see",...rest} = obj
对象解构没有顺序
三、展开
...arr:
arr为展开的单独变量
四、字符串
字符串模板 |
`${js变量}` 可以换行,可以加特殊符号 |
遍历 |
for of |
检测 |
1.includes(sub)是否开头 2.startWith(sub)以...开头 3.endsWith(sub)以...结尾 |
去空白 |
1.trim( ) 去掉两端空白 2.trimLeft( ) 去掉左边空白 3.trimRight( ) 去掉右边空白 |
重复 |
repeat(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){ //返回一个,映射数组 }) |
filter( ) 过滤 |
arr.filter(function(item,index,self){ // 返回的值为真保留元素 // 返回的值为假过滤掉元素 }) |
reduce( ) 累计 |
arr.reduce(function(a,b){ a是上一次返回的结果 b是遍历项 }) |
some( ) 有一个 |
有一个返回结果为true最终结果为true |
every( ) 每一个 |
每个返回结果为true最终结果为true |
find( ) 查找元素 |
查找符合条件的元素 |
findIndex( ) 查找下标 |
查找符合条件的元素下标 |
六、箭头函数
1. 箭头函数省略function
2. =>左边参数
3. 箭头右边 函数体、返回值
4. 传参0个或者2个以上参数都要加上括号
5. 如果函数体由多行需要加上大括号
6. 如果返回的是一个对象则用()包裹对象
7. 箭头函数中的this指向的是上一层作用域的this
七、函数
1.默认参数
function fn(a=10,b=20){...}
2.调用:扩展参
fn(...arr)
3.定义:不定参
function(...args){...}
八、对象
对象简写:
1.变量和值简写
2.函数function简写
3.var name = "beibei";
var obj = {
name,say(){alert(this.name)}
}
动态属性:
{[nick+"msg"]:"你好"}
九、类
1、面向对象基本特点
封装、继承、多态、接口
2、单词
extends 继承
constructor 构造函数
super 超类
static 静态
3、定义类
class person{
constructor(namae,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
导入 |
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' |
导出 |
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
转数组: