Javascript: push tableau sur tableau avec une boucle for

Veuillez l'expliquer à moi. Je suis en train de créer un tableau de tableaux avec une boucle for. Quand il n'en a pas fonctionné, j'ai essayé de simplifier le code pour comprendre ce que Javascript est fait, mais le simple code n'a pas de sens.

function test(){
    var sub_array = [];
    var super_array =[];
    for (var i=1;i<=3;i++){
        sub_array.push(i);
        super_array.push(sub_array);
    }
    alert(super_array);
}

Je m'attends à voir [1; 1,2; 1,2,3].
Au lieu de cela je obtenir [1,2,3; 1,2,3; 1,2,3].
Je reçois le même phénomène si je boucle 0-2 et attribuer par l'index.