ES6----字符串,数值,对象,数组扩展

async函数

  • 真正意义上去解决异步回调的问题,同步流程表达异步操作。本质上为Generator的语法糖

  • 格式:async function foo(){

    await 异步操作;

    await 异步操作;

    }

  • 返回的是一个Promise对象

Generator函数的格式:

function* 函数名(){ }

  • async 不会有next

    • async替代了*

class

  • 面向对象:

    • 声明一个类

      关键字 class 类名{ }

      定义类 类名首字母最好大写

      实例化类的时候 类名严格区分大小写

      1. 通过class定义类/实现类的继承

      2. 在类种通过constructor定义构造方法 魔术方法 实例化的时候 自己调用

      3. 通过new来创建新的实例

      4. 通过extends(继承)来实现类的继承

      5. 通过super调用父类的构造方法

      6. 重写从父类中继承的一般方法

    • 类里面有成员属性和 成员方法

    • 子类通过构造方法新增新的内容,必须先要super调用父类的构造方法

用类定义一个方法,类里面不能加上function,类会自动会把方法加载到原型中

Module模块

  • 模块:一个模块就是一个js文件

  • 定义了一个模块,模块里面的参数或者变量,外部是不能访问的,要进行访问

    那就要暴露这个变量

    • 通过export关键字暴露模块

      • 格式:

        1. 第一种格式: var 变量 = 值 ;

          export {变量名}

        2. 第二种格式:

    • 通过import关键字引入模块

  • 引入模块时,在script标签中的type中设置为type="module"

 

字符串扩展

  • includes(str) 是否找到了字符串

  • startsWith(str) 判断是否以制定字符串开头

  • endsWith(str) 判断是否以制定字符串结尾

  • repeat(count) 重复指定次数

 

数值扩展

  • Number.isFinite(i):判断是否是有限大的数

  • Number.isNaN(i):判断是否是NaN

  • Number.isInteger(i):判断是否是整数

  • Number.parseInt(str):将字符串转换为对应的数值

  • Math.trunc:直接去除小数部分

数组扩展

  • Array.from(v) :将伪数组对象或可遍历对象转换为真数组

      var oDiv = document.querySelectorAll("div")
     let s1 = Array.from(oDiv) //转为了真数组
     s1.forEach((item,index)=>console.log(item))
      console.log(typeof oDiv)//Object

     

  • Array.of(v1,v2,v3):将一系列值转换成数组

     let s3 = Array.of(1,2,3,4)
             console.log(s3)//(4) [1, 2, 3, 4]

     

  • find(function(value,index,arr){return true}):找出第一个满足条件范围为true的元素

      var arr1 = [1, 2, 3, 4]
      let s = arr1.find((item, index) => item > 3)

 

  • findIndex(function(value,index,arr){return true}:找出第一个满足条件范围为true的元素下标

 var arr1 = [1,2,3,4]
 let s4 = arr1.findIndex((item,index                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           )=>item>3)
         console.log(s4)//3

 

对象扩展

  • Object.is(v1,v2):判断2个数据是否完全相等,值完全相等

  • Object.assing(target,source1,source2):将源对象的属性复制到目标对象上,源对象上原有的相同的值,会被覆盖

    • 直接操作proto属性:let obj2 ={}

      obj2.proto=obj1

基本类型:String,Number,Boolean,null,undefined,symbol

  • 存放在栈stack内存中的简单数据段,数据大小确定,内存空间大小可以分配

    • 存储的是该对象的真实数据在栈里

引用数据类型:object function array

  • 存放在堆内存中,变量实际保存的是一个指针(地址),这个指针指向另一个位置,每个空间大小不一样,要根据情况进行特定的分配

 

set容器

无序的,不可重复的多个value集合

set()

set(array)定义

add()添加

size长度

delete()删除

has()是否有

clear()清空

 

Map容器

无序,key不可重复的多个key-value集合

Map(array)

set(key,value)添加

get(key)获取

delete(key)删除

has(key)是否有

clear()清空

sizi( ) 获取长度

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值