首页 > 解决方案 > 这个非常简单的javascript代码怎么会崩溃

问题描述

var everyTimeSlotArrayObjectBuilt = {}
var thirtyToBeAdd = 0
for (var i = 0; i < 7; i++) {
  everyTimeSlotArrayObjectBuilt[i.toString()] = []
  everyTimeSlotArrayObjectBuilt[i].push(i)

}
for (var z = 0; z < 2; z + 1) {

    everyTimeSlotArrayObjectBuilt['1'].push(z)
  }
console.log(JSON.stringify(everyTimeSlotArrayObjectBuilt))

令人难以置信的是,这段代码崩溃了,它非常简单。

标签: javascriptarraysstringecmascript-6

解决方案


for (var z = 0; z < 2; z + 1) {
    everyTimeSlotArrayObjectBuilt['1'].push(z)
}

该表达式z + 1不会更改 的值z。(比较i++哪个确实会改变 的值i)。

什么都不会改变 的值z

永远不会达到循环的结束条件。

它永远循环。


推荐阅读