Zugriff auf undefinierte Eigenschaft in JavaScript abfangen [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Gibt es ein Äquivalent zum Feature __noSuchMethod__ für Eigenschaften oder eine Möglichkeit, es in JS zu implementieren? 4 Antworten

Die Spider-Monkey-JavaScript-Engine implementiert das__noSuchMethod__ Rückruffunktion für JavaScript-Objekte.

Diese Funktion wird aufgerufen, wenn JavaScript versucht, eine undefinierte Methode eines Objekts auszuführen.

Ich möchte eine Rückruffunktion für ein Objekt festlegen, die aufgerufen wird, wenn auf eine undefinierte Eigenschaft im Objekt zugegriffen oder diese zugewiesen wird.

Ich habe kein @ gefund__noSuchProperty__ -Funktion für JavaScript-Objekte implementiert und ich bin neugierig, ob es eine Problemumgehung gibt, die das gleiche Ergebnis erzielt.

Betrachten Sie den folgenden Code:

var a = {};
a.__defineGetter__("bla", function(){alert(1);return 2;});
alert(a.bla);

It ist äquivalent zu[alert(1);alert(2)] - obwohl a.bla undefiniert ist.

Ich möchte das gleiche Ergebnis erzielen, aber mit unbekannten Eigenschaften (d. H. Ohne vorher zu wissen, dass auf eine. "Bla" -Eigenschaft zugegriffen wird)

Antworten auf die Frage(6)

Ihre Antwort auf die Frage