Tanto document.location.href quanto document.location.replace podem mudar da página A para a página B, mas a diferença é:
Depois de mudar para document.location.href, você pode retornar à página original.
Após alternar com document.location.replace, você não poderá retornar à página original através de "Voltar".
Em relação a document.location.href ou outros métodos de comutação reversível, também encontrei um detalhe,
Use um exemplo para ilustrar:
Suponha que haja três páginas A.htm B.htm C.htm
Existe esta frase em A.htm: document.location.href="/b.htm";
Existe esta frase em b.htm: document.location.href="/c.htm";
Observe que ambos são interruptores reversíveis.
1: Ao mudar de A para B e depois para C, três páginas são reservadas na memória real: A, B, C
2: Ao reverter para B, a página C é apagada da memória!
3: Volte novamente Quando a página A for alcançada, a página B também será apagada da memória!
4: Ao avançar novamente (não mudando, mas avançando) para a página B,
O que fica guardado na memória é A e B
>>>Quando um documento é substituído por location.replace(), ele será removido do objeto histórico atual