2011-08-22 6 views

Respuesta

121

El punto y coma está allí en caso de que incluya este script justo después de un script 'malo' que no cierre correctamente su última línea con un punto y coma. En este caso, es posible que los dos scripts se combinen y generen un código no válido. Por ejemplo, si está fusionando varias secuencias de comandos en una sola respuesta.

El() al final está ejecutando la función. Esto está creando un cierre. Las variables y métodos privados se pueden declarar dentro del alcance de esta función a la que no se puede acceder desde fuera del script.

+2

Esto no tiene nada que ver con un script "malo"; tiene que ver con escribir en un estilo libre de punto y coma. –

+84

en mi humilde opinión que es el script "malo". –

+0

@pst: no entendí eso. ¿cuidado para elaborar? – naveen

9

Esta construcción:

(function(){ /* something in here */ })() 

se utiliza para crear un nuevo ámbito en Javascript.

More info on function scope here.

Respecto del punto y coma, nunca visto antes. Creo que es una seguridad para cuando concatena varios scripts, ya que los puntos y comas son opcionales en algunos casos al final del archivo.

+0

Ejemplo aquí: https://github.com/js-cookie/js-cookie/blob/latest/src/js.cookie.js –

Cuestiones relacionadas