2011-11-29 8 views
5

Me considero razonablemente competente con JavaScript y estoy familiarizado con muchas de las diferentes formas de lograr lo mismo. Pero hoy me encontré con algunas sintaxis de la función que yo no había visto antes:JavaScript Función de sintaxis Explicación: function object.myFunction() {..}

function document.body.onload() 
{ 
    alert('loaded'); 
} 

Si tuviera que escribir dicho código que habría hecho así:

document.body.onload = function() 
{ 
    alert('loaded'); 
} 

Ignorando el hecho de que este no es la mejor manera de manejar el evento onload, ¿es esto realmente válido JavaScript? Parece que causa errores de sintaxis en FireFox (y JSLint), así que supongo que solo es la sintaxis de Internet Explorer. Si solo es IE, me gustaría eliminarlo, pero me preocupa que pueda tener algún efecto secundario peculiar.

Respuesta

10

function document.body.onload es una sintaxis de JavaScript no estándar. Usa el segundo formato e inicia a quienquiera que haya escrito el código original.

no se olvide el punto y coma después del final }
document.body.onload = function() { 
    ...code... 
}; //this is easy to miss 
1

No, no es válido. la variante function X() {} requiere que el nombre de la función solo contenga letras, dígitos, '$' y '_'.

Si desea comprobar otra sintaxis, puede get the standard here, pero los diagramas de sintaxis en la parte posterior de JavaScript: The Good Parts son mucho más fáciles de digerir.

Cuestiones relacionadas