tipos - retornar valor de una funcion javascript
¿Por qué debería usar un punto y coma después de cada función en javascript? (8)
He visto diferentes desarrolladores que incluyen puntos y coma después de las funciones en javascript y algunos no. ¿Cuál es la mejor práctica?
function weLikeSemiColons(arg) {
// bunch of code
};
o
function unnecessary(arg) {
// bunch of code
}
¡Solo mantente consistente! No son necesarios, pero yo personalmente los uso porque la mayoría de las técnicas de minificación se basan en el punto y coma (por ejemplo, Packer ).
Cuando minimicé mis scripts, me di cuenta de que necesitaba usar un punto y coma para las funciones que comienzan con la marca de igual. Si define una función como var, sí, necesita usar un punto y coma.
necesita punto y coma
var x = function(){};
var x = new function(){};
this.x = function(){};
sin necesidad de punto y coma
function x(){}
En realidad es más que un tema de convención o consistencia.
Estoy bastante seguro de que no colocar puntos y coma después de cada instrucción ralentiza el analizador interno porque tiene que averiguar dónde está el final de la declaración. Me gustaría tener algunos números útiles para que lo confirmes positivamente, pero quizás puedas buscarlo en Google. :)
Además, cuando comprime o minimiza el código, la falta de punto y coma puede llevar a una versión minificada de su script que no hace lo que quería porque desaparece todo el espacio en blanco.
Los puntos y coma después de las declaraciones de funciones no son necesarios .
La gramática de una FunctionDeclaration
se describe en la especificación de la siguiente manera:
function Identifier ( FormalParameterListopt ) { FunctionBody }
No hay un punto y coma gramaticalmente requerido, pero podría preguntarse por qué?
Los puntos y coma sirven para separar las declaraciones entre sí, y una Declaración de FunctionDeclaration
no es una declaración .
FunctionDeclarations
se evalúan antes de que el código entre en ejecución, hoisting es una palabra común que se usa para explicar este comportamiento.
Los términos "declaración de función" y "declaración de función" a menudo se usan incorrectamente de manera indistinta, ya que no hay una declaración de función descrita en la Especificación de ECMAScript, sin embargo hay algunas implementaciones que incluyen una declaración de función en su gramática, probablemente Mozilla, pero nuevamente no es estándar
Sin embargo, siempre se recomiendan puntos y coma cuando se utilizan las FunctionExpressions
, por ejemplo:
var myFn = function () {
//...
};
(function () {
//...
})();
Si omite el punto y coma después de la primera función en el ejemplo anterior, obtendrá resultados completamente no deseados:
var myFn = function () {
alert("Surprise!");
} // <-- No semicolon!
(function () {
//...
})();
La primera función se ejecutará de inmediato, porque los paréntesis que rodean a la segunda, se interpretarán como los Arguments
de una llamada de función.
Conferencias recomendadas:
- Expresiones de funciones con nombre desmitificadas (gran artículo)
- Explique la sintaxis de la función anónima encapsulada de JavaScript (más sobre
FunctionDeclaration
vsFunctionExpression
)
Los uso después de las declaraciones de función como variable:
var f = function() { ... };
Pero no después de las definiciones de estilo clásico:
function f() {
...
}
Realmente solo depende de tu preferencia. Me gusta terminar las líneas de código con punto y coma porque estoy acostumbrado a Java, C ++, C #, etc., así que uso los mismos estándares para codificar en javascript.
Sin embargo, normalmente no finalizo las declaraciones de funciones en punto y coma, pero eso es solo mi preferencia.
Los navegadores funcionarán de cualquier manera, pero tal vez algún día encuentren algunos estándares más estrictos que rijan esto.
Ejemplo de código que escribiría:
function handleClickEvent(e)
{
// comment
var something = true; // line of code
if (something) // code block
{
doSomething(); // function call
}
}
JS Lint es una convención de facto, y dice que no hay punto y coma después del cuerpo de la función. Consulte la sección "Punto y coma" .
SENCILLO:
Es una buena práctica dejar los puntos ;
comas ;
Después del final de la función de llaves. Han sido considerados una buena práctica durante años.
Una de las ventajas de usarlos siempre es si desea minimizar su JavaScript.
Como minimizar el Javascript, ayuda a reducir un poco el tamaño del archivo.
Pero en cuanto a las mejores prácticas y respuestas anteriores, no se recomienda usarlo después de una etiqueta de función.
Si NO utiliza puntos y comas, y si desea reducir el tamaño (como a muchos desarrolladores les gusta hacer si su sitio contiene una gran cantidad de JavaScript), podría obtener todo tipo de Errores / Advertencias.