js高级~复习(4)

预解析

  • 含义:变量的声明会提升到当前作用域最顶端
  • ES5中的var是具有预解析的弊端的,ES6中let直接代替var,let没有预解析

箭头函数this指向

  1. 箭头函数没有this
  2. 本质是: 访问上级作用域中的this
  3. 由于箭头函数没有this,所以箭头函数不能作为构造函数(new会修改this指向,而箭头没有this
  4. 箭头函数也无法修改this(call apply bind)对箭头函数是无效的

展开运算符

  1. 展开运算符:… 相当于对象遍历的简写
  2. 应用:
    • 连接数组(上拉加载下一页) : arr1.push(…arr2)
    • 求数组最大值 : Math.max(…arr)
 let arr = [20,0,60,88,100,50]

        //ES5 : Math.max.apply(Math,arr)
        let max1 =  Math.max.apply(Math,arr)
        console.log( max1 )

        //ES6 : Math.max(...arr)
        let max2 =  Math.max(...arr)
        console.log( max2 )
        

数据类型 Set : 集合

  • Set相当于是数组类型,和数组Array唯一的区别是不能存储重复元素
  • set是配合数组一起使用的,否则会报错
  • 应用:
    • 数组去重

数组去重案例:

	let newArr = [...new Set(arr)]
	console.log(newArr)

方法二:

//1.先把数组去重,在给去重数组一个对象,再把伪数组变成数组
let newArr =  Array.from(new Set(arr))
        console.log(newArr)

数组some

  • some场景 : 判断数组中是否有满足条件的元素(一个就直接true)
  • some的方法:
    1. true: 有符合条件的元素
      2. false:没有符合条件的元素

数组every

方法:判断数组中 是否所有的 元素都满足条件

every方法:

  1. return true : 循环继续 ,满足条件,如果元素全部遍历还是true,则最终结果是true
  2. return false : 循环结束。 只要要到不满足条件的元素, 循环结束,最终结果是false

数组reduce

方法:数组累加器方法

​ 对数组每一个元素执行一次回调函数,累加最后一次回调的结果

场景:求数组的和,数组元素的最大值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值