Tengo una variable en una página web que se establece en un valor y es de tipo string. Cuando hace clic en un botón, se llama a una función & al final de la función, me gustaría limpiar cualquier cosa que se había establecido previamente. He intentado usar:

$.removeData(myVar);

pero no hace nada. Las declaraciones de registro antes de & después de que la declaración de demostrar que todavía tiene el valor de & tipo tanto antes de & después de la declaración anterior.

Otro sin usar la variable tiene un valor de undefined y un tipo de undefined. Tanto estas variables resultan ser variables globales en la página.

¿Cómo se puede restablecer myVar a su estado inicial? Sé que debería ser simple, pero me estoy perdiendo algo. Agradecería cualquier ayuda.

En lugar de utilizar una variable global, el uso local de uno de ellos dentro de la función
mejor que mostrar algo de código o jsfiddle
No todas las preguntas de programación requieren código. Él describe el problema básico bastante bien.
yo no dije que es necesario, me dijo que iba a ser mejor. Y en anycase está tratando de describir algo que es en realidad el código… así que ¿por qué no mostrar el código?

OriginalEl autor steve_o | 2013-12-18

4 Comentarios

  1. 15

    Bien…varias posibles respuestas directas.

    myVar = undefined;
    myVar = null;
    delete window.myVar;

    Sin EMBARGO, pongo en duda la lógica de tener la variable sea global, pero sólo se puede utilizar en ciertos métodos. He aquí cómo podría ser mejor a la estructura (con una muestra aleatoria de pseudo-ejemplo de sumar los valores de ajax):

    addAjaxButton.onClick(function() {
      var counter = 0;
      ajax(function(addition) {
        counter += addition;
        ajax(function(moreAdd) {
          counter += moreAdd;
          alert('Total is ' + counter);
        });
      });
    });

    En ese caso, el contador no necesita ser eliminado – se acaba de ir fuera de alcance cuando todo el AJAX es completa.

    OriginalEl autor Katana314

  2. 1

    Simplemente asignar un valor a la misma. Si el estado inicial no estaba definida, establece a null. Usted no tiene que hacer nada elegante con jQuery para matar el valor.

    OriginalEl autor Bic

  3. 0

    Parece que su función es realizar algún «lado effecty» las cosas y desea deshacer esas cosas?

    Esta declaración

    Me gustaría limpiar cualquier cosa que se había establecido previamente.

    No es la misma que esta declaración

    ¿Cómo se puede restablecer myVar a su estado inicial?

    Lo que realmente quieres hacer es una copia de ella a un ámbito local variable y no cambio global. Este código muestra el uso de los parámetros de la función y la realización de una copia de la global var localmente.

    var someGlobal = 1;
    someMethod();
    someOtherMethod(someGlobal);
    
    function someMethod() {
      var localVar = someGlobal;
      localVar = 2;
    }
    
    function someOtherMethod(localVar) {
      localVar = 3;
    }
    
    window.console.log(someGlobal);

    OriginalEl autor crad

  4. -1

    Esta sería una manera de restablecer el valor:

    $(myVar).val('');
    Esto no proporciona una respuesta a la pregunta. Para la crítica o la solicitud de aclaración de un autor, deja un comentario debajo de su post.
    Lo siento que no le gustaba la redacción de mi respuesta. Lo he editado para que parezca menos como una pregunta de aclaración y ser más claro como respuesta sugerida.

    OriginalEl autor redlena

Dejar respuesta

Please enter your comment!
Please enter your name here