Znalazłem takie ciekawe zdanie na wiki pod artykułem o Browser Engine:
Executing JavaScript (JS) code is a separate matter, however, as every major web browser uses a dedicated engine for this. The JS language was originally created for use in browsers, but it is now used elsewhere, too, so the implementation of JS engines is decoupled from browser engines. In a web browser, the two engines work in concert via the shared DOM data structure.
zastanawiam się czy dobrze kminie odnośnie tego jak się to odbywa:
- BrowserEngine jest napisany w języku X
- JavaScript interpreter też jest napisany w języku X
- BrowserEngine tworzy sobie strukturę danych - jakiś obiekt (oczywiście dalej się to odbywa w języku X)
- JavaScript interpreter jak dostaje JS-ową instrukcję np.: "document.getElementById", jest zaimplementowany tak, żeby wywołać jakąś określoną metodę na tej strukturze danych która została wcześniej utworzona
W takim scenariuszu było by to możliwe, bo i interpreter JS i BrowserEngine są napisane w tym samym języku, ale wg. tego, też zawsze musiały by być w tym samym języku (chyba).