tutorial tipos pasar lista funciones etiquetas entre ejemplos anonimas javascript function anonymous-function object-literal colon

tipos - "Puntos" de Javascript para etiquetar funciones anónimas



pasar variables entre funciones javascript (5)

El : se usa cuando se define un objeto y sus propiedades.

var obj = { queryString: function() { //some code } }

Ahora obj.queryString es tu función.

¿A qué se refiere este código también?

queryString: function() { //some code }

Lo probé en la WebConsole (Firefox) pero no se ejecutaría, así que estoy pensando que no es equivalente a la function queryString() {} .

Entonces, qué es exactamente?


Es una etiqueta https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label

var i, j; loop1: for (i = 0; i < 3; i++) { //The first for statement is labeled "loop1" loop2: for (j = 0; j < 3; j++) { //The second for statement is labeled "loop2" if (i == 1 && j == 1) { continue loop1; } console.log("i = " + i + ", j = " + j); } } // Output is: // "i = 0, j = 0" // "i = 0, j = 1" // "i = 0, j = 2" // "i = 1, j = 0" // "i = 2, j = 0" // "i = 2, j = 1" // "i = 2, j = 2" // Notice how it skips both "i = 1, j = 1" and "i = 1, j = 2"


Esto es probablemente dentro de una declaración de mapa / objeto como esta:

var obj = { queryString: function() { alert(''here''); }, eggs: function() { alert(''another function''); } }; obj.queryString();


Falta un código allí, pero supongo que forma parte de una declaración de objeto como esta:

var obj = { queryString: function() { //some code } }; obj.queryString();

Asigna una función como propiedad de un objeto literal. Sería equivalente a esto:

var obj = {}; obj.queryString = function() { ... }; obj.queryString();

En general, la sintaxis literal del objeto se ve así:

{ key: value, otherKey: otherValue };

Entonces, la razón por la que esto no funcionó en la consola es porque no estaba encerrado en {} caracteres, lo que denota un objeto literal. Y esta sintaxis es válida SÓLO en un objeto literal.


Que

queryString: function() { //some code }

significa que puede usar queryString () para llamar a la función a la que se refiere. Este tipo de referencia se utiliza generalmente si desea definir una clase (o una pseudoclase; P) en su javascript. Algo como esto,

var application= { namespace: {} }; application.namespace.class_name = function(){ function constructor(){ return { exposed_property1 : property1, exposed_property2 : property2, ... ... } } //Write property/functions that you want to expose. // Write rest of the function that you want private as function private(){} };

Ahora, en cualquier otra parte del código, puede crear objetos para class_name y usarlos para acceder a la propiedad1, property2, etc.