集合

什么是集合?
Set集合是一种无重复元素的列表,这是这种数据结构的最大的一-个特点。
创建集合
let s1 = new Set();
let s2 = new Set([1,2,3]);
console.log(s1);//Set {}
console.log(s2);//Set { 1, 2, 3 }
给集合添加值
let s1 = new Set();
s1.add([1,2,3]);
console.log(s1);
//Set { [ 1, 2, 3 ] } 在Set对象中,不能够添加相同的元素,
集合相关属性和方法
1.用size属性获取元素个数
2.使用has()方法来查看一个集合中是否包含某-个值
3.删除集合值
使用delete删除Set对象里面的某一个元素
如果要一次性删除所有的元素,可以使用clear方法
遍历集合
keys()方法遍历集合的键
values()方法遍历集合的值
entries()方法同时遍历集合的键与值
集合转数组
我们还可以使用Array对象所提供的from()方法来进行转换
Set对象里面是不能够存放相同的元素的,利用这个特性,我们可以快速的为数组去重
什么是映射?
它类似于对象,也是键值对的集合,但是"键"的围不限于字符串,各种类型的值(包括对象)都可以当作键。
映射相关属性和方法
has(key):检测指定的键名在Map映射中是否已经存在
delete(key):从Map映射中移除指定键名及其对应的值
clear0:移除Map映射中的所有键值对
Map映射同样支持size属性,其代表当前集合中包含的键值对数量
映射的遍历
keys()方法遍历集合的键
values()方法遍历集合的值
entries()方法同时遍历集合的键与值
映射转为数组
使用Array对象的from()方法
弱映射
弱映射和普通映射一样,同样也具有has(),get(),set( ),delete() 等方法。
为什么需要函数?
函数最大的好处就是可以对代码实现复用。相同的功能不用再次书写,而是只用书写-次就够了。
声明函数的方式
1.字面量声明函数:

a.函数名:就是我们调用函数时需要书写的标识符
b.形式参数:简称形参,是调用函数时需要接收的参数
c.实际参数:简称实参,是调用函数时实际传递过去的参数
2.函数表达式声明函数
3.构造器声明函数
函数的调用
函数的返回值
函数的返回值的关键字为return 。代表要从函数体内部返回给外部的值,
即使不写return,,函数本身也会有返回值undefined
return后面的代码是不会执行的,因为在函数里面一旦执行到 return,整个函数的执行就结束了。return关键字只能返回-一个值,如果想要返回多个值,可以考虑返回一个数组。
函数的参数
1.参数名可以重复,同名的参数取最后一个参数值
2.即使函数声明了参数,调用时也可以不传递参数值
3.调用函数时可以传递若千个参数值给函数,而不用管函数声明时有几个参数
4.不定参数、默认参数
函数的属性和方法
1. name属性
2. length属性
箭头函数
箭头函数的基本介绍:所谓箭头函数,是从ES6开始 新增加的-种声明函数的方式。其最大的特点在于不需要function
关键字,取而代之的是使用一个=>来进行表示。
箭头函数的优点
●比普通函数声明更简洁
●只有一个形参就不需要用括号括起来
●如果函数体只有一行,就不需要放到一个块中
●如果return语 句是函数体内唯一的语句, 就不需要return关键字
●不会把自己的this值绑定到函数上
3. caller属性(扩展)
4.callee属性
作用域
全局作用域:这个是默认的代码运行环境,一旦代码被载入,引擎最先进入的就是这个环境。
函数作用域:当进入到一个函数的时候,就会产生一个函数作用域
eval作用域:当调用eval0函数的时候,就会产生一个eval作用域
变量提升
以var的形式进行声明的,但是不具有变量提升。
所谓变量提升,就是指在使用var关键字进行变量声明的时候,默认会将声明变量的部分提升至
当前作用域的最顶上,但是注意提升的只有变量的声明部分,赋值是不会提升的
函数提升
所谓函数提升,是指当我们使用字面量方式来声明一个函数的时候,此时函数的声明会提升到当
前作用域的最顶端,这意味着我们可以将函数的调用书写到函数的声明之前
需要注意的是,仅仅只有普通函数声明的时候才存在函数提升,如果是使用函数表达式来进行的
函数声明,则不存在有函数提升的情况
还有-点就是变量提升和函数提升是可以同时存在的。上面的例子 中如果我们声明函数时使用的
是var关键字的话,那么同样存在变量的提升。

转载于:https://www.cnblogs.com/tcq43356/p/11408605.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值