Oi Eberson,
Para evitar que não seja exibido 1942 e 1946, você poderia fazer algo como
while(anoCopa <= limite) {
if(anoCopa != 1942 && anoCopa !=1946) {
mostra(anoCopa);
}
anoCopa = anoCopa + 4;
}
isto é, você só mostra os anos diferentes de 1942 e 1946, já que nestes não houve copa.
Sobre começar com 1991 e apenas imprimir os anos corretos, é um pouco mais complicado. De alguma forma, você tem que conseguir calcular qual é o primeiro ano depois de 1991 que teve copa (no caso 1994).
Vamos resolver um problema mais simples primeiro. Como saber se não teve copa em 1991? Bom, um jeito simples é pensar que 1991 é um ano ímpar e todas as copas são em anos pares. Mas só o fato do ano ser par não resolve, porque 1992 é par e não teve copa. O que todos os anos de copa tem em comum? A resposta pode parecer estranha, mas todos eles tem o resto da divisão por 4 igual a 2. Logo, podemos procurar o primeiro ano depois de 1991 que tem essa propriedade e começar nosso laço a partir dele.
Para calcular o resto da divisão em Javascript, utilizamos o operador %
. Exemplo:
8 % 4 // igual a 0
7 % 3 // igual a 3