Escrever com setTimeout

JavaScript

var partText = "";
function escreverNoObjeto (objeto, texto) {
	objeto.innerHTML = texto;
}

function escrever(text, intervalo) {
	var partText = '';
  var fn = function(texto) {
  	return function() {
      /* pode ser document.getElementById("texto")*/
      escreverNoObjeto(document.body, texto);
    };
  };
  
  for (i = 0; i < text.length; i++) {
    partText += text.charAt(i);
    
    setTimeout(fn(partText), intervalo * (i + 1));
  }
}

escrever("teste", 1000);