Oi Gabriel, a ordem das suas variáveis está errada.
O javascript faz a leitura de cima pra baixo e você tem o seguinte:
var totalCopas = dataLimite - anoCopa;
var dataLimite = parseInt(prompt("Entre com a data limite"));
var anoCopa = 1930
Na primeira variável, totalCopas, você esta usando a variável anoCopa para um cálculo. Como no momento em que você invoca aquela conta a variável anoCopa e dataLimite ainda não existem, ambas as variáveis utilizada estão com o valor undefined, o que gera o NaN (Not a Number).
Para solucionar o seu código, mova ambas as variáveis para cima da totalCopas:
var dataLimite = parseInt(prompt("Entre com a data limite"));
var anoCopa = 1930
var totalCopas = dataLimite - anoCopa;
Com isso, sua função já irá funcionar. No entando, existe um erro na sua lógica. A copa so ocorre a cada 4 anos, então, o total deveria ser somado somente no ano em que ocorrer uma copa.
var anoCopa = 1930
var dataLimite = parseInt(prompt("Entre com a data limite"));
var totalCopas = 0;
while (anoCopa <= dataLimite) {
mostrarLinha("Teve copa em: " + anoCopa);
anoCopa = anoCopa + 4
totalCopas++;
}
Explicando o código, você tem o ano base da copa, 1930, que serve de base para o cálculo. Depois tem a dataLimite que o sistema recebe, que é um ano, vamos assumir 2018.
O sistema ainda não sabe como calcular o totalCopas porque ainda não tem a lógica pra isso, então declaramos ele como 0, o valor vai ser acrescido a cada copa que for encontrado.
Abaixo do anoCopa = anoCopa +4 eu adicionei o contador para cada ocorrencia encontrada a cada 4 anos, o ++ à frente da variável indica que na próxima chamada invocação do anoCopa, +1 valor vai ser acrescido. Então, para cada iteração, +1 vai ser adicionado à ela.
Se o valor da data for 2018, logo, você vai ter as 23 copas como total.