我听过很多次了.向后计数时JavaScript循环真的更快吗?如果是这样,为什么?我已经看到一些测试套件示例显示反向循环更快,但我找不到任何解释为什么!
我假设它是因为循环不再需要在每次检查它是否完成时评估属性并且它只是检查最终的数值.
即
for (var i = count - 1; i >= 0; i--)
{
// count is only evaluated once and then the comparison is always on 0.
}
Run Code Online (Sandbox Code Playgroud) 我有一个名为的函数generateNoise()
,它创建一个canvas元素并为其绘制随机的RGBA值; 这,给出了噪音的外观.
什么是无限制动噪音的最佳方式,以给出运动的外观.这可能会有更多的生命?
function generateNoise(opacity) {
if(!!!document.createElement('canvas').getContext) {
return false;
}
var canvas = document.createElement('canvas'),
ctx = canvas.getContext('2d'),
x,y,
r,g,b,
opacity = opacity || .2;
canvas.width = 55;
canvas.height = 55;
for (x = 0; x < canvas.width; x++){
for (y = 0; y < canvas.height; y++){
r = Math.floor(Math.random() * 255);
g = Math.floor(Math.random() * 255);
b = Math.floor(Math.random() * 255);
ctx.fillStyle = 'rgba(' + r + ',' + b + ',' + g + …
Run Code Online (Sandbox Code Playgroud) 我不确定这是否是正常行为,但运行此:
for (var i in [1, 2, 3]) {
console.log(i + 1);
}
Run Code Online (Sandbox Code Playgroud)
结果如下:
// 01
// 11
// 21
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下,为什么var i
在这种情况下被视为字符串而不是如果我这样做for (var i = 0; i < [1, 2, 3].length; i++)
?
javascript ×3
for-loop ×2
canvas ×1
html5 ×1
html5-canvas ×1
loops ×1
optimization ×1
while-loop ×1