let和const关键字
1、let声明变量用法类似于var但是比var严谨;
2、const用来声明常量,一旦声明,其值就不能改变。也就是只读变量。
let/const与var的区别:
1、var会进行预解析,let/const不会
2、var定义变量允许重名,但是let/const不允许在同一个作用域下,定义重名变量
3、var没有块级作用域,let/const有
let和const的区别:
1. 声明时赋值 (let和const的功能基本类似,只是let用来修饰变量,const用来修饰常量。)
2. 值的修改
字符串新增方法:
1. str.includes(元素): 在字符串中判断是否包含某个元素
2. str.startsWith(字符串) 判断字符串是否以某个字符串开始
3. str.endsWith(字符串) 判断字符串是否以某个字符串开始
以上都有返回值
4. str.repeat(n) : 让字符串重复n次
箭头函数:
定义方式:
声明式 function fn() {}
赋值式 var fn = function () {}
箭头函数(赋值式的一种简化写法) var fn = () => {}
特点:
1、只有一个形参的时候可以不用写小括号;
2、函数体只有一行代码的时候,可以不写大括号;
3、箭头函数内没有arguments值;
4、箭头函数内没有this(this指代的是该箭头函数的上下文);
解构赋值:
1、概念:快速从对象或者数组中获取一些数据,分为解构数组和解构对象;
解构数组 语法: var [ 变量1, 变量2, 变量3, ... ] = 数组
解构对象 语法: var { 键名1, 键名2, 键名3, ... } = 对象
解构对象的时候起一个别名
2、解构赋值的用途:
解构赋值可以让一个函数返回多个值使用 []
解构赋值可以实现两个数的交换
默认参数:
1、概念:给函数的形参设置一个默认值, 当你没有传递实参的时候, 默认参数会生效。
2、语法:function fn(a = 10, b = 20) { } 参数a的默认值是10,b为20
扩展运算符:
概念:展开合并运算符,主要是操作 数组 和 对象 的运算符号(...)
作用:展开、合并
展开:可以展开对象或者展开数组
set和map:
1、Set:数据结构,类似于数组,但是它的值不会重复(自动去重)
1.1、Set的属性和方法
1.2属性:size获取元素的长度
1.3方法:
add(ele) 向Set中添加元素
delete(ele) 删除
has(ele) 是否包含某个元素,返回布尔值
clear(): 清空set集合
2、map也是一种数据结构,类似于对象
2.1属性:size获取元素的长度
2.2方法:
设置键值对 set(key,value)
获取 get(key)
删除 delete(key)
清空 clear()
包含 has(key) 返回布尔值(true/false)
for..of和for..in:
for..in:ES5
for..of:ES6
数组:for.in循环可以遍历数组,遍历的是下标(字符串类型),for.of可以遍历数组,遍历的是值
对象:for..in循环遍历对象,for..of不可以遍历对象
map集合:for..of可以遍历map集合,for..in不能遍历map集合