day08

7. 说⼀下 var 、let、const 之间的区别?

var 存在提升,我们能在声明之前使⽤。 let 、 const 不存在声明提升
var 定义的全局变量可以作为顶层属性使用,就是 window.xxx 使用,其他两者不会
let 和 const 作⽤基本⼀致,const 声明的是常量,不能再次赋值
let 和 const 不能重复声明变量
let 和 const 声明是块级作用域

扩展:const 定义的基本数据类型不能修改,定义的复杂数据类型能修改。
因为基本数据类型存在栈里,复杂数据类型存在堆里。

8. 说⼀下数组去重的⽅法有哪些?es6 如何实现数组去重?

indexof

双层 for 循环

set ⽅法  
let res2 = [...new Set(arr2)]

9. 说⼀下如何检测对象⾥⾯有没有属性(或者如何检测⼀个对象是否为空)?以及如何获取对象⾥⾯所有的属性名?

通过 Object.keys ⽅法, 返回值数组,数组⾥⾯包含的是所有属性名

obj.hasOwnProperty()

使⽤ for in 的⽅式

10. 如何将多个数组合并成为⼀个数组?

Es5 :
concat
for 循环

Es6:

扩展运算符
map ⽅法

举例代码:

let res3 = [...arr3, ...arr4]
let res4 = res3.concat(res4)

11. 说⼀下 es6 如何实现类以及如何实现类的继承?

class 是实现面向对象编程的语法,面向对象是一种编程思想,就是把所有的东西描述成一个对象,这个对象有属性有方法,在用的时候就可以实例化去使用。

es6 提出了 class 类的概念,可以创建对象,es5 时候是构造函数创建的,所以 calss 是构造函数的语法糖。

我们创建⼀个类只需要⽤过关键词 class 去声明就可以了 , 他的调⽤⽅式和构造函数的调⽤⽅式是
⼀样的。

通过 es6 的类还给我们提供⼀个 extends 这样的⼀个关键字,来实现继承,用 super 调用父类的构造函数。

12. 字符串的方法

charAt( ) 方法从一个字符串中返回某个下标上的字符

concat( ) 方法将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回。

search( ) 获取某个字符或者字符串片段首次出现的位置

match( ) 检索字符串或者正则表达式

replace( ) 替换  

replace(参数 1,参数 2); 参数 1:替换谁 参数 2:替换值

split( 参数 1,参数 2 ) 字符串切割,切割后返回数组

slice( ) 和 substring( ) ( 开始位置,结束位置 ) 获取两个索引值之间的字符串片段 从下标 2 开始截取,到下标 4 结束,但不包含 4

substr ( 开始位置,截取的长度 ) 获取两个索引值之间的字符串片段

indexOf( ) 获取某个字符或者字符串首次出现的位置,找到则返回索引值,找不到则返回-1

lastIndexOf( ) 获取某个字符或者字符串最后出现的位置,找到则返回索引值,找不到则返回-1

13. 数组的方法

1.  Array.from 把类数组结构 或者带有 length 的结构转化成数组 from 是构造函数的方法

2.  Array.of()可以把一组参数转换为数组 of 更方便 只要传参数就转化为数组

3.  Array.isArray([ ]);true 也是构造函数的方法 用来检测是否是数组

    还有 new Array() instanceof Array 也能检测数组

4.  fill 填充数组

5.  copyWithin 复制数组里的某一部分 插入到数组里的某个位置

    第一个参数是插入的位置 第二个参数是开始复制的位置 第三个是结束的位置

6.  reverse(倒序)不是排序 只是颠倒数组 原数组发生改变

7.  sort 返回值 是排序后的数组 原数组也会发生改变

8.  concat 合并数组 原数组不变 返回合并后的新数组

9.  slice 截取数组 原数组不变 返回新的数组
     参数是负数 就加上数组的长度 一个参数 就直接截到最后

10. splice 删除 替换 增加
      原数组发生改变;
      删除 传两个参数 开始的位置 删除的个数 返回值删除的值
      替换和插入 是三个甚至更多参数
      开始的位置 删除的长度(要插入的话第二个参数是 0) 要替换或者插入的值

11. indexOf 从左往右找下标
      lastIndexOf() 从右往左找下标
      如果有就返回位置 没有就返回-1

12. includes 判断是否含有 返回 布尔值
      push 末尾添加 返回值是新数组的长度
      pop 末尾删除
      unshift 开头添加
      shift 开头删除

 # 数组高阶函数 接收一个函数作为参数

13. find 查找 只要找到满足条件的就不再继续找了 返回值是找到的第一个值

14. filter 过滤 筛选满足条件的 放在一个新的数组中 返回值就是筛选出来的数据

15. findIndex 根据条件查找数组内匹配项的下标

16. every 都满足就返回 true

17. some 有一个满足就返回 true

18. map 和 foreach 都是循环遍历

      forEach 没有返回值 对数组循环然后做一个操作 原数组会变

      map 对原数组进行操作 得到一个新的数组 必须有返回值

19. flat  将多维数组扁平化,并返回一个新数组。方法接受一个数值,表示要扁平化的数组维度

20. reduce 方法接收一个函数作为累加器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值