aunque asigné una fecha a la variable, recibo el mensaje de error "getMonth no es una función"
Evidentemente el intérprete no acepta el tipo de fecha.
Esta es la sección relevante del código:
function init(){ var m=document.getElementById("m"); var d = Date(); refresh(d); } function refresh(d) { var month = d.getMonth();sí, la función termina con un }, hay más líneas, pero se detiene exactamente allí.
Olvidó usar nueva palabra clave con Fecha:
function init(){ var m=document.getElementById("m"); var d = new Date(); refresh(d); } function refresh(d) { var month = d.getMonth(); console.log(month) } init()Parece que desea obtener el constructor, mientras actualmente está definiendo la función como d .
Lea más sobre Date aquí: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
Entonces, el fragmento de código debería ser:
function init(){ var m=document.getElementById("m"); var d = new Date(); refresh(d); } function refresh(d) { var month = d.getMonth();La Date es una clase en javascript, por lo que debe usar la new palabra clave para crear una nueva instancia y llamar a métodos como getMonth en ella.
function init(){ var m=document.getElementById("m"); var d = new Date(); refresh(d); } function refresh(d) { var month = d.getMonth(); console.log(month); } init();