Man kann sich document.write () (und .innerHTML) als Auswertung einer Quellcode-Zeichenfolge vorstellen. Dies kann für viele Anwendungen sehr praktisch sein. Wenn Sie beispielsweise HTML-Code als Zeichenfolge aus einer Quelle erhalten, ist es praktisch, ihn nur "auszuwerten".
Im Kontext von Lisp wäre die DOM-Manipulation wie die Manipulation einer Listenstruktur, z. B. Erstellen der Liste (orange), indem Sie Folgendes tun:
(cons 'orange '())
Und document.write () wäre wie das Auswerten einer Zeichenfolge, z. B. das Erstellen einer Liste durch Auswerten einer Quellcode-Zeichenfolge wie folgt:
(eval-string "(cons 'orange '())")
Lisp bietet außerdem die sehr nützliche Möglichkeit, Code mithilfe von Listenmanipulationen zu erstellen (z. B. mithilfe des "DOM-Stils" zum Erstellen eines JS-Analysebaums). Dies bedeutet, dass Sie eine Listenstruktur mit dem "DOM-Stil" anstelle des "Zeichenfolgenstils" erstellen und diesen Code dann ausführen können, z. B.:
(eval '(cons 'orange '()))
Wenn Sie Codierungswerkzeuge wie einfache Live-Editoren implementieren, ist es sehr praktisch, eine Zeichenfolge schnell auswerten zu können, z. B. mit document.write () oder .innerHTML. Lisp ist in diesem Sinne ideal, aber Sie können auch in JS sehr coole Sachen machen, und viele Leute machen das, wie http://jsbin.com/