Wie lösche Variable mit Javascript? [Duplizieren] - Javascript

Das habe ich bisher versucht.

var nxt = "I am next";

window.onscroll = function(){
var scr = this.pageYOffset;

if(scr > 400){
console.log(nxt);
delete(nxt); // unset here
console.log(nxt); // expected undefined or null
}
}

Ich habe delete () verwendet, um den Bezugswert innerhalb der Variablen zu entfernen. Unglücklicherweise bleibt es einfach dasselbe. Kann mir jemand einen Hinweis geben, wie man ein solches Szenario erreicht?

Jede Hilfe wäre willkommen.

Antworten:

9 für die Antwort № 1

Sie können eine Variable nicht deklarieren. Sie können ihren Wert auf einstellen undefined, jedoch:

nxt = undefined;

Sie kann Entfernen Sie in der Regel eine Eigenschaft aus einem Objekt, je nachdem, wie sie dem Objekt hinzugefügt wurde. Wenn dieser Code globalen Gültigkeitsbereich hat, wird Ihr nxt Variable ist auch eine Eigenschaft des globalen Objekts (auf das Sie sich beziehen können) window in Browsern), aber hinzugefügte Eigenschaften können nicht entfernt werden. Also du könnte fügen Sie es anders hinzu, indem Sie dies tun, anstatt es zu deklarieren:

window.nxt = "I am next";

und dann könntest du es komplett mit entfernen delete:

delete window.nxt;

(Beachten Sie, dass delete ist keine Funktion, es ist ein Operator, den Sie nicht benutzen () damit, obwohl dies harmlos ist.)

jedoch, globale Variablen sind ein Bad Thing ™, also würde ich wahrscheinlich vorschlagen, all dies in eine Scoping-Funktion zu integrieren und zu behalten nxt eine Variable und Einstellung nxt zu undefined.


3 für die Antwort № 2

Sie können die Variable explizit auf nicht definiert setzen:

nxt = undefined;