相关疑难解决方法(0)

反向循环真的更快吗?

我听过很多次了.向后计数时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)

javascript optimization loops for-loop while-loop

259
推荐指数
19
解决办法
11万
查看次数

动画画布看起来像电视噪音

我有一个名为的函数generateNoise(),它创建一个canvas元素并为其绘制随机的RGBA值; 这,给出了噪音的外观.


我的问题

什么是无限制动噪音的最佳方式,以给出运动的外观.这可能会有更多的生命?


的jsfiddle

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)

javascript html5 canvas image-processing html5-canvas

60
推荐指数
6
解决办法
2万
查看次数

for循环中的变量是一个字符串

我不确定这是否是正常行为,但运行此:

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 for-loop

33
推荐指数
5
解决办法
3785
查看次数