小编Spe*_*ecy的帖子

为什么 if(1) 比 if(true) 快

我正在尝试在 JavaScript 和画布中制作康威的生活游戏,我有一个 1280x720 的矩阵用于存储单元格数据,我目前将数据存储为 1 = 活着,0 = 死了,然后当我检查如果一个细胞还活着,我只是这样做:if(matrix[i][j]) 我很好奇这是否可以改进,并在https://jsbench.me/ 上做了一些测试, 复制了一个类似的场景,并注意到如果使用“true/false”,整个​​事情+-11% 慢,为什么会这样?不是应该更快吗?

示例基准,只需将 1 更改为 true 即可测试其他场景

let array = []
for(let i = 0; i<1000000; i++){
   array.push(1)
}
let sum = 0
for(let i = 0; i<1000000;i++){
    if(array[i]){
        sum++
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays performance v8

1
推荐指数
1
解决办法
105
查看次数

标签 统计

arrays ×1

javascript ×1

performance ×1

v8 ×1