Cómo restablecer mis funciones de JavaScript

1. Para alterar una función JS existente, todo lo que tiene que hacer es redefinirla en el mismo espacio de nombres / ámbito donde ya existe. Por ejemplo:

función boo () {
retorno 1;
}

función boo () {
retorno 2;
}

El segundo gana.

Hay una necesidad común de anular y ampliar las funciones existentes en JS. Se llama shimming.

2. Limpiar / eliminar / indefinir una función JS existente no es una necesidad muy común, con una excepción.

Para que eso funcione, necesitaría definir la función de tal manera que pueda acceder a su alcance “padre” con bastante facilidad (como global.boo = function () {return 1;};) y usar la función “eliminar global .boo “. O bien, si boo es solo una var en el alcance global (var boo = function () {return 1;};), entonces dentro del mismo alcance simplemente establezca var “boo” en cualquier cosa vacía, como “null” o ” “O 0 o falso, etc.

El único escenario probable que se me ocurre para hacer esto es “vaciar” una función existente mientras se mantiene otro código que lo llama felizmente ajeno a ese hecho. Esto se puede lograr redefiniendo esa función para no hacer nada:

global.boo = function () {};

Puede hacerlo llamando a una función que devolverá una función, con cualquier variable encapsulada en ella.

En lugar de hacer esto

var a = 0
incremento de función A () {
a = a + 1
}

(firstCounter) .on (‘clic’, incrementoA)
(secondCounter) .on (‘clic’, incremento A)

Podrías hacer esto

función getClickHandler () {
var a = 0
función () {
a = a + 1
}
}

(firstCounter) .on (‘click’, getClickHandler ())
(secondCounter) .on (‘clic’, getClickHandler ())

De esta manera, ambos manejadores obtendrán su propia versión ‘reset’ de la función.

No estoy exactamente seguro de lo que quieres decir con “restablecer mis funciones de JavaScript”. Pero si pregunta cómo cambiaría el código en una función, así es como lo haría:

Comenzaría asignando mi función a una variable:

var myFunction = function () {
// Tu codigo
}

Entonces llamaría a la función cuando necesite usarla usando la siguiente línea de código:

myFunction ()

Y luego, cuando necesito cambiar, alterar la función de JavaScript, simplemente establecería la variable myFunction en una nueva función:

myFunction = function () {
// Tu código nuevo y alterado
}

Ahora, cuando llame a myFunction() , ejecutará cualquier función nueva / actualizada.

Aquí hay un ejemplo:

var myFunction = function () {
volver verdadero;
}

myFunction (); // Devuelve verdadero

// Mantener una referencia
var oldFunction = myFunction;

// Redefinir
myFunction = function () {
falso retorno;
};

oldFunction (); // Devuelve verdadero
myFunction (); // Devuelve falso