Ich finde hier zu MDC oder den ECMAscript-Spezifikationen nichts zu meiner Frage. Wahrscheinlich kennt jemand einen "hackigeren" Weg, um dies zu lösen.
Ich rufe "use strict"
jede Javascript-Datei in meiner Umgebung auf. Alle meine Dateien beginnen so
(function(win, doc, undef) {
"use strict";
// code & functions
}(window, window.document));
Jetzt habe ich eine benutzerdefinierte Funktion, die Fehler behandelt. Diese Funktion verwendet die .caller
Eigenschaft, um eine Kontextstapelverfolgung bereitzustellen . Sieht aus wie das:
var chain = (function() {
var _parent = _error,
_ret = '';
while( _parent.caller ) {
_ret += ' -> ' + _parent.caller.name;
_parent = _parent.caller;
}
return _ret;
}());
Aber im strengen Modus .caller
befindet sich natürlich eine nicht löschbare Requisite, die beim Abrufen ausgelöst wird. Meine Frage ist also, ist jemandem bekannt, wie man strikte "funktionale" deaktivieren kann ?
"use strict";
wird von allen Funktionen nach dem Aufruf geerbt. Jetzt haben wir die Möglichkeit, nur den strengen Modus in bestimmten Funktionen zu verwenden, indem wir nur oben aufrufen. "use strict";
Aber gibt es eine Möglichkeit, das Gegenteil zu erreichen?