js引用类型和循环

js的循环

  • if不用多说,在if的括号中是条件
  • do-while语句:当不满足while中的条件循环会退出;
  • while:和do-while不同的时,while可能不会执行循环,而do while无论如何循环体内代码至少执行一次
  let a=9;
    do{
        a++
    }while(a<8)
    console.log(a)  // 10
    ----------------------
      let a = 9;
    while (a < 8) {
        a++   // 没走循环体中
    }
    console.log(a); // 9
  • for 循环也不用多说,就是根据()中的属性看要不要走循环体
  • for in:用于枚举对象中非符号键属性用于枚举对象
  • for of :用于遍历可迭代对象可迭代对象就是他们一定要有迭代属性;也就是说Symbol.terator属性
  var arr=new Array()
  console.log(arr[Symbol.iterator]())  // Symbol.iterator f()
  • break和continue;break会立即退出循环执行循环后的语句,而continue则会停止本次循环,返回循环顶部
  • with语句:特殊语句,用于对象反复操作;with不可以在严格模式下使用
  let app = {
        names: 'hhh',
        ages: 18,
        job: 'woker'
    }
    let app2={}
    with(app) {
        app2.names=names+1
        app2.ages=ages+2
    }
    console.log(app2)  //{ages: 20,names: "hhh1"}
  • switch case循环就是以switch作为条件 case中进行判断

作用域

  • 先说一下原始属性会保存在栈内存上,而引用值会保存在堆内存上
  • js在执行代码时是单线程的,所以会有作用域,而作用域可以从下而上去查找,不能从父级向子集去查找,闭包解决啦这个问题

垃圾回收机制

垃圾回收就是当某一个变量被调用后,之后其不会再被调用就会被清除,每隔一定时间进行一次清理
其中有标记清理引用计数两种方式来清理垃圾
标记清理:就是变量在进入上下文(也就是js内部)时,只要他在上下文中被使用,说明他就有用,就会被标记进入“被保护名单”;如果离开上下文啦,就会被标记进入为“被清理名单”,变量可以在从一个“名单”移入另一个“名单”
引用计数:声明变量被赋值其计数加1,如果保存该值引用的变量被其他值覆盖,计数就减1,当变量计数为0时则被清理

  • 提升性能的方法就是常用 let 和const生命变量
  • 解除引用:如果数据不再必要将其设置为null
  • 隐藏类的使用,在构造函数中,把不想要的属性设置为null

引用数据类型

  • date
  • new Date.now() //获取现在时间
  • 这里有很多api我就直接上一张图片吧

在这里插入图片描述
在这里插入图片描述

  • RegExp

g:全局模式,查找字符串全部内容
i:不区分大小写,忽略字符串的大小写
m:多行模式,表示找到一行文本末位时会继续找
y:粘附模式,表示只找查从lastindex之后的字符
u:unicode模式,启用unicode匹配
s:dotall模式,匹配元字符

  • RegExp实例属性

global:布尔值,表示是否设置啦g标记
ignoreCase:布尔值,表示是否设置i标记
unicode:布尔值,表示是否设置u标记
sticky:布尔值,表示是否设置y标记
lastIndex:整数,原字符下一次搜索的位置,始终从0开始
multiline:布尔值,表示是否设置m标记
source:正则表达式的字面量字符串,没开头和结尾的斜杠
flags:正则表达式标记的字符,没有之前的斜杠

    let pa = /\[123\]/i
    console.log(pa.global); //  false
    console.log(pa.ignoreCase); //  true
    console.log(pa.multiline); //false
    console.log(pa.sticky); //false
    console.log(pa.source); // \[123\]
    console.log(pa.flags); //i
    

下面这些平时也可能用上
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值