3-12 关于死循环引起js内存泄漏的研究

销户系统之自由销户

1.整合代码时,发现for..in循环遍历对象的有趣规则:

//for in 循环遍历对象

let obj={
  2:'sss',
  3:'333'
}
//使用变量访问属性 必须用[]
for(let k in obj){
  console.log(obj[k]);
}

2.刚刚写代码,无意间写了一个css引用的死循环,代码如下:

fund.styl

@import './common'
@import './stock'
.account {
  height 108px
  display flex
  align-items center

  .label {
    font-size 24px
    color $fieldLabelColor
    line-height 34px
    font-weight: normal
    span{
      font-size: 32px
      font-weight: normal
    }
  }
}

stock.sytl

@import './fund'

.prefix-chcker {
  position absolute
  top 0
  left 0
  bottom 0
  padding 78px 28px 0 28px
  &.moveUp{
    padding-top: 38px
    }
}

然后发现webpack根本启动不起来,电脑风扇飞速旋转,还会报js内存泄漏的错误

<--- Last few GCs --->

[917:0x103800000]   283509 ms: Scavenge 1381.0 (1422.5) -> 1380.1 (1423.0) MB, 1.9 / 0.0 ms  (average mu = 0.262, current mu = 0.189) allocation failure 
[917:0x103800000]   283516 ms: Scavenge 1381.0 (1423.0) -> 1380.1 (1423.5) MB, 2.0 / 0.0 ms  (average mu = 0.262, current mu = 0.189) allocation failure 
[917:0x103800000]   283523 ms: Scavenge 1381.0 (1423.5) -> 1380.1 (1424.0) MB, 1.8 / 0.0 ms  (average mu = 0.262, current mu = 0.189) allocation failure 


<--- JS stacktrace --->

==== JS stack trace =========================================

    0: ExitFrame [pc: 0x1ac8597cfb7d]
Security context: 0x269672e1d9f1 <JSObject>
    1: setopts [0x269632ed7749] [/Users/emiyakiri/Documents/Program/crh-account-close-app/node_modules/stylus/node_modules/glob/common.js:~53] [pc=0x1ac85a769fa4](this=0x269639607bc1 <JSGlobal Object>,0x2696c8d896f1 <GlobSync map = 0x26960ec7e171>,0x2696c8d89621 <String[108]: /Users/emiyakiri/Documents/Program/crh-account-close-app/src/components/partials/fi...

再仔细一看,我发现我犯了一个循环引用的错误,修改了之后就解决了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值