一 声明变量关键字
var let 常用于遍历 eg: for (var i = 0; i < 5; i++) { }
const
区别:
var 全局与函数作用域;let const局部作用域{ }
var 变量提升;let与const不会
var 能重复声明;let 和const不能
let和var可以声明不赋值;const必须赋值
const一般推荐大写const值类型不可修改(值类型: bool,String . Number, undefine)
二 解构与展开
解构:把数组/对象解析为单独变量
数组的解构:, 代表跳过1位;...变量名 代表剩余;可以有默认值;可以交换变量的值;可用于求数组的最大值
对象的解构:无顺序;...变量名 代表剩余
展开: 把数组展开 解构为单独参数
格式:...数组名
三 字符串
字符串模板:var obj={name:"qxx",age:12}
var str="abcdefg "
遍历:for(let s of str){ }
检测:.includes 包含;.startsWith(a) 以a开头;.endsWith(a) 以a结尾
去空白:.trim();.trimLeft() 去左空白;.trimRight() 去右空白
重复:.repeat(3) 重复3次
填充:.padStart(5,"0") (长度,替补)
四 数组高阶方法
*forEach 遍历
*map映射
*filter 过滤
reduce 累计
every 每一个 每个都符合条件才true
some 有一个 有一个符合条件true
find 查找元素 查找符合条件的元素
findIndex 查找下标 查找符合条件的元素下标
sort((a,b)=>a_b) 排序
五 箭头函数
1.箭头函数省略function
2. =>左边参数
3.箭头右边函数体、返回值
4.参数>=2个 要加()
5.函数体有多个加{} 若需要返回值加return
6.若返回的是一个对象 要用()包裹对象eg:({})
六 函数
默认参数
调用:扩展参
定义:不定参
七 对象
1.对象简写 变量和值简写;函数function简写
2.对象动态属性
八 class 类(面向对象)
特点:继承;封装;多态;接口
单词:extends 继承;constructor 构造函数;super 超类 调用父元素;static 静态
九 模块 module
导入 import
导出 export 默认导出 只能一次;export{name,fn,Square} 可多次
十 Set
ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。可用于去重。
声明:
var s1 = new Set(); // 空Set
var s2 = new Set([1, 2, 3]); // 含1, 2, 3
方法:
add delete clear has size
遍历:
for (let i of s) { console.log(i);}
entries() values() keys()
初始化:var s1=new Set(arr);var arr3=[...new Set(arr)] 去重
添加:s1.add("love")
删除:s1.delete(8)
情况:s1.clear()
检测:alert(s1.has("love"))
长度:console.log("长度:",s1.size);