Restar fechas con Javascript

HTML

<div id='resultado'></div>

JavaScript

var d = new Date(); //establecemos la fecha de hoy

/*
d.getFullYear() extrae el año
(d.getMonth() + 1 ) extrae el mes
d.getDate() extrae el día.
d.getHours() extrae la hora.
d.getMinutes() extrae el minuto.
d.getSeconds() extrae el segundo.
*/

//Establecemos la fecha inicio con los parametros anteriores
var fechaInicio = new Date("2018/01/11 23:59:59");

//Establecemos la fecha final
var fechaFinal = new Date("2018/01/11 23:59:59");

//Restamos la fechaFinal menos fechaInicio,
//esto establece la diferencia entre las fechas
var fechaResta = fechaFinal - fechaInicio;

var texto;
//imprimir
texto = "Faltan: " + ((((fechaResta / 1000) / 60) / 60) / 24)/365 + " a&ntilde;os. &oacute;<br/>";

texto = texto + "Faltan: " + (((fechaResta / 1000) / 60) / 60) / 24 + " días. &oacute;<br/>";

texto = texto + "Faltan: " + (((fechaResta / 1000) / 60) / 60)  + " Horas.  &oacute;<br/>";

texto = texto + "Faltan: " + ((fechaResta / 1000) / 60)  + " Minutos.  &oacute;<br/>";

texto = texto + "Faltan: " + (fechaResta / 1000)  + " Segundos.";

document.getElementById("resultado").innerHTML = texto;