Estas llamando a la función imprimir dentro de la creacion de la misma:
function imprimir(frase){
imprimir(frase);
saltarlinea();
}
Eso esta mal
Recuerda que una función es una forma de JavaScript de automatizar un proceso, por lo cual dentro del código de la funcion debes colocar lo que esperas de esta función y adicional debes llamarla después de crearla.
Por ejemplo si desea que una funcion vuelva cursiva una frase deberías hacerla asi:
function imprimir(frase){
documento.write('<em>'+frase+'</em>');
saltarlinea();
}
imprimir('Hola Mundo');
y el resultado seria:
Hola Mundo
Y recuerda que el interprete lee el codigo de forma descendente por lo cual, no puede llamar a una funcion sin antes haberla creado:
//Primero lee esto
imprimir('Hola Mundo');
//Despues lee esto
function imprimir(frase){
documento.write('<em>'+frase+'</em>');
saltarlinea();
}
En este ejemplo el código buscara una funcion que aun no existe, por lo cual te dará error