una tablas tabla obtener ejemplos datos con agregar javascript design-patterns anonymous-function

tablas - obtener datos de una tabla html javascript



¿Cómo se explica esta estructura en JavaScript? (7)

(function() { //codehere } )();

¿Qué tiene de especial este tipo de sintaxis? Que hace ()(); ¿implicar?


Crea una función anónima, cierre y todo, y el final () le dice que se ejecute a sí mismo.

Es básicamente lo mismo que:

function name (){...} name();

Básicamente, este código no tiene nada de especial, es solo un ''atajo'' para crear un método e invocarlo sin tener que nombrarlo.

Esto también implica que la función es una única, o una función interna de un objeto, y es más útil cuando se necesitan las características de un cierre.


Es una función anónima que se llama.

El objetivo de esto es crear un nuevo ámbito desde el cual las variables locales no se desvanezcan. Por ejemplo:

var test = 1; (function() { var test = 2; })(); test == 1 // true

Una nota importante acerca de esta sintaxis es que debe adquirir el hábito de terminar las afirmaciones con un punto y coma, si no lo hace ya. Esto se debe a que Javascript permite líneas de alimentación entre un nombre de función y sus paréntesis cuando lo llamas.

El siguiente fragmento causará un error:

var aVariable = 1 var myVariable = aVariable (function() {/*...*/})()

Esto es lo que realmente está haciendo:

var aVariable = 1; var myVariable = aVariable(function() {/*...*/}) myVariable();

Otra forma de crear un nuevo ámbito de bloque es usar la siguiente sintaxis:

new function() {/*...*/}

La diferencia es que la técnica anterior no afecta a dónde apunta la palabra clave "this", mientras que la segunda sí lo hace.

Javascript 1.8 también tiene una declaración de let que logra lo mismo, pero no hace falta decir que no es compatible con la mayoría de los navegadores.


Esa es una función anónima autoejecutable. El () al final está llamando a la función.

Un buen libro (que he leído) que explica algunos usos de estos tipos de sintaxis en Javascript es Object Objective Javascript .


Lo que está en el primer conjunto de corchetes se evalúa como una función. El segundo conjunto de corchetes ejecuta esta función. Por lo tanto, si tiene algo que desea ejecutar automágicamente, entonces cómo lo cargaría y lo ejecutaría.


Este uso es básicamente equivalente a un bloque interno en C. Impide que las variables definidas dentro del bloque sean visibles en el exterior. Por lo tanto, es una forma útil de construir una clase única con objetos privados. Solo no olvides return this; si lo usas para construir un objeto.

var Myobject=(function(){ var privatevalue=0; function privatefunction() { } this.publicvalue=1; this.publicfunction=function() { privatevalue=1; //no worries about the execution context } return this;})(); //I tend to forget returning the instance //if I don''t write like this