1.ES6(定义 声明 赋值 set数据结构)

定义
字符串声明
声明 var let const
赋值 (解构赋值):数组赋值 对象赋值
set数据结构

定义

1.编程思想
POP:面向过程:函数一步步定义,在函数调用执行
OOP:面向对象:先写对方方法,用的时候调用对象方法

封装性
继承性:儿子继承爸爸的一些特性
多态性:不同情况下,作用不同

2.ES6:泛指2015年之后的ecma版本,包括2016,2017等

字符串声明

var lzy =`李志远 ${变量2} `  //拼接变量2的值
var lzy =`李志远 $ {函数名()}` //拼接函数名return值
1.`反引号`声明
2.用 ${ } 直接在字符串内拼接,不需要+号拼接
3.空格/换行会被保留,让代码更美观

声明:var let const

let声明
const声明

项目作用域提升修改作用域链
var函数truetruetrue
let{ }falsetruefalse
const{ }falsefalsetrue
let变量声明

作用:
1.释放内存,例如循环之后计数器就没有作用了
2.循环里面放函数则会一直开辟堆空间,浪费内存

代码:let lzy =1

1.块级作用域:{ let声明的变量只在块级作用域有效 } :
(注意:包括循环,函数,不包括对象,在对象中的方法内声明变量相当于在全局作用域声明)
2.变量提升:不会有变量提升;调用在声明之上会undefined;
3.作用域链:
(1)块级作用域内如果用let声明变量,则不会接收父链条传递进来的值;(暂时性死区)
(2)函数嵌套函数时,父函数let声明变量可以传递进子函数(前提是子函数不进行let操作)

const常量声明

作用:
1.例如数学公式中不变的内容
2.内存执行效率比变量高

代码:const lzy =1

1.声明常量时必须赋值,否则报错
2.块级作用域:{ const声明的常量只在块级作用域有效 }
3.修改
(1)基本数据类型:值不能更改(报错)
(2)引用数据类型:栈中存储的地址不能更改(报错)
(3)引用数据类型:堆中内容可以更改

赋值(解构赋值):数组赋值 对象赋值

定义:解构赋值:分解数据结构,为变量赋值
赋值方式:可以同用函数中「剩余参数(…参数)」接收到(…参数)数组中
1.数组解构赋值

let [a,b,c] =[123]
let [a,b,...c] =[123456]

1.如果变量多于值,那么多余的变量为undefined

2.对象解构赋值

let {a,b,c} ={a:1,b:2,c:3}
let {a,b,...c} ={a:1,b:2,c:3,d:4}
let{a:a1,b:b1,c:c1}={ a:1,b:2,c:3}
(没测试,这个应该不能用剩余参数)

1.直接赋值,不需要对象点方法
2.a为方法名作用为匹配,输出a1是值

set数据结构

定义:
(1)存储数据:一组数据的集合
(2)类似于数组:set数据结构不能存储重复的值,如果重复则不会存储
(3)可以接收数组作为参数
应用:
(1)搜索功能的历史关键字(等过滤重复的地方)
(2)数组去重(先去重在转化为数组)
代码:

1)Set数据结构定义:
var lzy = new Set([123 ])(存储了三个值)

1.Set为构造函数,创建实例对象就是创建Set数据结构
2.不用写构造函数代码,直接写new就可以

(2)Set数据结构方法:
var lzy = new Set()
1.lzy.add(1).add(2).add(3)
-set结构添加值
-返回set结构本身

2.lzy.delete(1).delete(2).delete(3)
-set结构删除值
-返回布尔值,返回是否删除成功

3.lzy.has(1)
-判断lzy中是否有1这个值
-返回布尔值

4.lzy.clear()
-清除set结构所有值
-没有返回值

5.lzy.forEach(函数)
-循环Set数据结构
-每次循环调用, forEach(函数),会将循环值当参数传递进函数
-没有返回值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值