ES5及ES6
let 用来声明变量。他的用法类似于 var 但是所声明的变量,只在let 命令所在的代码块内有效
const 声明一个只读的常量,一旦声明,常量的值就不能改变
let
作用:定义变量
特点
有块级作用域
没有预解析
不可以重复声明
声明以后可以赋值
const
作用:定义变量(常量)
特点
有块级作用域
没有预解析
声明以后不能赋值,必须在声明的时候初始化
不可以重复声明
JSON
json对象转字符串
JSON.stringify(json)
像json的字符串转json对象
JSON.parse(jsonstr)
函数
参数默认值
function fn(a=默认值2,b=默认值2,c){}
箭头函数
var fn = ()=>{}
如果函数体只有一句话,可以省略{},如果这一句话是return,要省略return
如果形参只有一个,可以省略()
注意点
不会改变this指向
没有arguments对象
参数打包
function(a,…arr){}
可以打包实参成一个数组
扩展运算符
…
var arr1 = [13,3];var arr2 =[43,4];var arr = […arr1,…arr2,”hello”]
可以把指定内容展开放在另一个对象中
解构赋值
var obj = {name:”张三”};var name = obj.name
等价于:var {name} = obj
var arr = [454,34];var a = arr[0];var b= arr[1]
等价于:var [a,b] = arr;
var name = “zhangsan” var obj = {name:name}
等价于:var obj = {name}
模板字符串里面都是字符串${这里面是变量}
for of
遍历数组
Array.from
可以把类数组变成数组
Array.from(类数组)
Array.from({length:n},function(){ return 数组元素的值 })
Set类型
类似数组,但是每个元素都是唯一的
定义
var set = new Set([3,23,23,3])
方法
添加元素
set.add()
删除元素
set.delete()
判断是否存在
set.has()
清空set
set.clear()
属性
判断set中有几个元素
set.size
Symbol类型
用于保护对象的属性
无法被for in 遍历出来
var obj = {};var age = Symbol(); obj[age] = 90;
Object.assign(元素名.style,{
如: left: ·····,
top: ….,
…… ,
})
变量:
var 重复声明, 不能限制修改 函数级
let 不能重复声明 ,变量,块级
const 不能重复声明 常量 块级
解构赋值:
块级作用域:
let 防止重复声明,变量 只在代码块里起作用
const 防止重复声明,常量
函数:
箭头函数 和 this
箭头函数
function () {
...
}
() => {}
简写:
1.如果有且仅有一个参数,()也可以不写
2.如果有且仅有一个语句并且是 return ,{ } 也可以不写
参数扩展、数组展开 …扩展
…
参数展开
收集参数
展开
let arr1 = [12,3,4]<br />let arr2 = [4,5,6]<br />let arr = [...arr1,...arr2]<br />console.log(arr) // 12,3,4,4,5,6<br />
数组展开
json展开
原生对象扩展
set 它类似于数组,但是成员的值都是唯一的,没有重复的值。 Set
本身是一个构造函数,用来生成 Set 数据结构。
去重
Set.prototype.add(value):添加某个值,返回 Set 结构本身。
Set.prototype.delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
Set.prototype.has(value):返回一个布尔值,表示该值是否为Set的成员。
Set.prototype.clear():清除所有成员,没有返回值。
map
Array扩展,map,reduce, filter, forEach
模板字符串
json 写法, JSON 对象
map: 映射 : — 对应 有多少个就会返回多少个
react: list.map(item => return {
})
reduce: 进去很多 返回值 只有个 用于求平均分之类
filter : 过滤 过滤出你想要的值 用于 删除某一项
点击删除某一项 : list.filter(item => item.id !== id )
这个是相当于满足条件的那个就会返回出去
forEach: 遍历
JSON.stringify() // 把JavaScript 对象转换为字符串。
JSON.parse() // 把JavaScript 字符串转换为对象。