Próbowałem zrozumieć DOM i chociaż mam dobre wyobrażenie o tym, co to jest, są pewne pomysły, których po prostu nie potrafię określić. Spiszę, co myślę, że DOM jest, i moje pytania będą w linii.
DOM jest w pełni obiektową reprezentacją strony internetowej. Standard DOM W3C stanowi podstawę modelu DOM zaimplementowanego w większości nowoczesnych przeglądarek.
Czy więc DOM mówi o tym, jak dokument XML / HTML jest reprezentowany jako model obiektowy?
DOM nie określa, że dokumenty muszą zostać zaimplementowane jako drzewo lub gaj, ani nie określa, w jaki sposób należy zaimplementować relacje między obiektami.
W jaki inny sposób można przedstawić dokument?
Kiedy robisz coś takiego -
document.write('welcome to my home page!');
obiekt dokumentu jest dostarczany przez DOM. Metody zapisu to interfejsy, które są narażone na JavaScript przez DOM.
Więc obiekty i metody są tworzone przez obiekt parsera jako obiekty JavaScript, a następnie przedstawiane silnikowi JavaScript? A może obiekty i metody w silniku analizującym DOM są w ich własnym języku ojczystym? I jest narażony na działanie silnika JavaScript? Jeśli tak, to co jest odpowiedzialne za tłumaczenie z JavaScript na język ojczysty?
Co to są powiązania językowe?
Powiązanie językowe to zestaw obiektów rodzimych dla danego języka, który implementuje każdy interfejs w specyfikacji DOM.
Programiści mogą tworzyć powiązania językowe z DOM do swojego języka, po prostu postępując zgodnie z IDL (Interface Definition Language) w specyfikacji DOM.
Więc jeśli silnik analizujący DOM jest zaimplementowany w powiedzmy C ++, czy to oznacza, że kiedy tworzysz powiązania językowe, postępując zgodnie z IDL, po prostu tworzysz obiekty w określonym języku, tj. C ++, z którym zbudowany jest twój silnik analizujący DOM?