☆8☆【JSCORE】、【正则表达式】重点知识大全

1.正则表达式

  1. 正则表达式英文 RegExp

  2. 正则字面量写法 /

  3. 利用构造函数方式,创建一个正则对象,能够匹配所有单个数字 new RegExp('\\d','g')

  4. 正则表达式修饰中

    • 忽略大小写→i

    • 全局匹配→g global

  5. 正则的方法

    • 查找 match

    • 替换 replace

    • 测试 test

  6. 正则捕获组

    • 捕获组符号 ()

    • 代表1号捕获组的值 $1

  7. 手机号码正则 /^1[3-9]\d{9}$/

2.JSCORE

  1. 早期JS中,函数的变量arguments保存了所有传入的参数

  2. 函数的重载是指通过判断参数的数量类型不同,进而实现不同的效果

  3. 浏览器中,网页默认的所有JS属性都存储在window对象里

  4. JS共有4中作用域,是:

    • 全局作用域

    • 函数作用域

    • 会计作用域

    • 脚本作用域

  5. 闭包产生的根本原因,是函数声明时保存其所在的词法环境,函数提升后,不管在哪里都可以正常运行使用。

  6. 函数作用域会使用距离其最近的作用域中的变量,这种机制成为作用域链

  7. 闭包中的变量存在在函数组用于中,所以不存在全局变量污染

  8. 对象类型属于引用类型,变量中存储的是对象的地址

  9. 一个对象类型,每个值对应了一个数字,这种特殊对象类型是数组

  10. 一个数组类型,其中存在某些属性的名字是非数字,成为关联数组

  11. 普通函数的this,指向运行时所在的对象

  12. 箭头函数的this,指向声明时所在的作用域的this

  13. 构造函数的名称应使用大驼峰命名法,通过new关键词触发

  14. 构造函数中如果直接声明方法,则每次构造对象都需要声明新的方法,所以每个构造函数都会自带一个prototype变量来储存方法,其中文名为原型对象

  15. 原型链:当调用一个对象的属性时,如果对象本身没有,则到其__proto__变量中查找

  16. 替换对象原型,使用Object对象的setPrototypeOf方法实现

  17. for...in...会遍历对象及其原型中所有可遍历属性,可通过Object的keys方法,只读取对象自身属性

  18. 严格模式,JS顶部书写use strict

  19. 严格模式中,为避免错误的全局变量声明,要求变量必须声明后才能使用

  20. 严格模式中,直接调用函数,函数中的this会指向undefined,来当值错误声明全局变量

  21. 严格模式下,报了很多之前不报的错误,是因为取消了静默失败

  22. 早期匿名函数自调用时,需要使用arguments的callee变量实现,后被命名函数自调用所替代

  23. 让对象属性操作方法

    • 配置项定义
      writable是否可写, 属性能否被重新赋值
      configurable是否可重新配置
      value赋值,指定默认值
      enumerable可遍历
      get计算属性, 不需要() 就能触发函数
      set属性监听器() -- 监听属性的赋值
      defineProperty精确匹配单个对象的属性
      defineProperties同时匹配多个属性的值
  24. 保护对象属性,3个方法

    • 阻止新增 preventExtensions

    • 阻止增删 seal

    • 阻止增删改 freeze

  25. 创建一个新的对象,创建同时指定其原型,使用create方法

  26. 函数调用时,指定其this指向,且剩余参数依次书写,使用call方法

  27. 函数调用时,指定其this指向,剩余参数用数组书写,使用apply方法

  28. 使用bind函数,把就函数克隆出一个新的函数,指定其this指向和其余参数,调用可在后续随意执行

  29. 数组的高级方法,通过传递回调函数实现效果

    • 高级方法实现的效果
      every判断数组每个元素都满足
      some判断至少有一个元素满足
      filter得到数组中满足条件的元素组成新的数组
      map把原数组每个元素,通过函数处理后,把处理结果形成新的数组
      forEach遍历数组
      reduce把数组的内容,归纳总结成唯一的值

30.模板字符串使用反引号包围,${} 书写JS代码,支持换行

31.const是常量,必须在声明时赋值,赋值后无法修改,因其为引用类型

32.通过for...of...可以快速遍历数组,适用于没有forEach的类数组类型

33.箭头函数的语法糖,可以实现超级简化,假如方法体只有一行代码,就可以省略{ }和return

34.参数的剩余参数,使用...符号

35.数组、对象的展开,使用...符号

36.通过数组的结构语法,把数组的[11,22,33]中的11和33放到变量a和b中

let [a,b,]=[11,22,33]

37.利用对象解构语法,把{name:"亮亮",age:33}的name值放入gname变量,age放入age变量

let {name:gname,age}={name:"亮亮",age:33}

38.面向对象的英文简称:OOP,其三大特征分别是:封装 继承 多态

39.class的静态属性,可以直接通过类型调用,声明静态属性使用static关键词

40.继承的关键词:extends

41.子类中书写与父类相同的属性,此时子类中想调用父类属性,使用关键词super

41.通过Promise可以解决回调地狱问题,其中resolve触发then操作,reject触发 catch操作

42.promise三种状态

pending 刚声明后

fulfilled resolve调用后

rejected reject调用后

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长安梦我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值