Ich war Surfen durch den Quellcode hier: http://js-dos.com/games/doom2.exe.html und ein paar Dinge aufgefallen:Was ist der Zweck dieser Evaluierungsbedingung?
if (typeof Module === 'undefined')
{
Module = eval('(function() {try { return Module || {} } catch(e) { return {} }})()');
}
- Die Funktion des Moduls mit einem Inline-Skript-Tag definiert ist
- Es später wieder in einem anderen inline mit
var
deklarierte Dieses Mal prüft es, ob das Modul existiert.
Meine Frage: Was ist der Punkt Modul deklariert mit einer Funktion zur Selbst rufenden wenn es nur werde versuchen, das Modul wieder annehmen? Ist es nicht schon bewiesen, dass es nicht existiert? Warum deklarieren Sie Modul nicht einfach als {}
?
Dieser Code ist im emscripten-Projekt auf github. Es wurde in diesem Commit hinzugefügt: https://github.com/kripken/emscripten/commit/22d510338239c1cf33136392c77a9b3d7d2ce2bc Sie haben sich von der expliziten Deklaration in die Eval-Anweisung bewegt, aber das Commit msg isn; t klar warum! Ich habe emscripten als Tag hinzugefügt, dann könnte jemand aus dem Projekt, oder wer es gut kennt, es erkennen und in der Lage sein zu helfen. – sifriday