me adelante un poco y hice algo mas o menos asi deje comentado el while por si alguien gusta testearlo
<meta charset="UTF-8">
<canvas width="600" height="400">
</canvas>
<script>
    function dibujarCuadrado(x,y, color){
        var pantalla=document.querySelector("canvas");
        var pincel= pantalla.getContext("2d");
        pincel.fillStyle=color;
        pincel.fillRect(x,y,50,50);
        pincel.strokeStyle="black";
        pincel.strokeRect(x,y,50,50);
    }
    // var vuelta=0;
    // var width=600;
    // while(vuelta < width){
    //     dibujarCuadrado(vuelta,0,"red");
    //     dibujarCuadrado(vuelta,50,"yellow");
    //     dibujarCuadrado(vuelta,100,"green");
    //     vuelta=vuelta+50;
    // }
    for(var vuelta=0; vuelta<600; vuelta=vuelta+50){
        var color=["red","yellow","green"];
        var colorContador=0;
        for(var vuelta2=0; vuelta2<150; vuelta2=vuelta2+50){
            icolor=color[colorContador];
            dibujarCuadrado(vuelta,vuelta2,icolor);
            colorContador++;
        }
    }
</script>
 
            