2011-02-08 12 views
12

estoy consiguiendo un error:Javascript: getFullYear() no es una función

Statdate.getFullyear() is not a function. 

De este código javascript:

var start = new Date(); 
start = document.getElementById('Stardate').value ; 

var y = start.getFullYear(); 

Cualquier idea de por qué esa función no está disponible?

Respuesta

27

Prueba esto ...

var start = new Date(document.getElementById('Stardate').value); 
var y = start.getFullYear(); 
17

Está sobrescribiendo el objeto start día con el value de un elemento DOM con un id de Startdate.

esto debería funcionar:

var start = new Date(document.getElementById('Stardate').value); 

var y = start.getFullYear(); 
+4

+1 para la explicación fresca –

12

Una forma de obtener este error es que se olvide de utilizar la 'nueva' palabra clave al crear instancias de su fecha en javascript de esta manera:

> d = Date(); 
'Tue Mar 15 2016 20:05:53 GMT-0400 (EDT)' 
> typeof(d); 
'string' 
> d.getFullYear(); 
TypeError: undefined is not a function 

¿Había utilizado la palabra clave 'nueva', se habría visto así:

> [email protected] $ node 
> d = new Date(); 
Tue Mar 15 2016 20:08:58 GMT-0400 (EDT) 
> typeof(d); 
'object' 
> d.getFullYear(0); 
2016 

Otra forma de obtener ese error es acciden Tally vuelva a crear una instancia en javascript entre cuando lo establece y cuando lo usa, así:

[email protected] $ node 
> d = new Date(); 
Tue Mar 15 2016 20:12:13 GMT-0400 (EDT) 
> d.getFullYear(); 
2016 
> d = 57 + 23; 
80 
> d.getFullYear(); 
TypeError: undefined is not a function