Główne różnice między JavaScript w IE i JavaScript w nowoczesnych przeglądarkach (np. Firefox) można przypisać tym samym przyczynom różnic w CSS / (X) HTML między przeglądarkami. W tamtych czasach nie istniał faktyczny standard; IE / Netscape / Opera walczyły w wojnie o wpływy, implementując większość specyfikacji, ale także pomijając niektóre, a także tworząc własne specyfikacje, aby zyskać przewagę nad innymi. Mógłbym kontynuować, ale przeskoczmy do wydania IE8: JavaScript był unikany / pogardzany przez lata, a wraz z rozwojem FF i pogardą dla webcomm, IE zdecydował się skupić głównie na ulepszaniu CSS z IE6 na. I zasadniczo zostawił obsługę DOM w tyle. Obsługa DOM w IE8 może być równie dobrze obsługiwana przez IE6, który został wprowadzony w 2001 roku ... więc obsługa DOM w IE jest prawie dziesięć lat za nowoczesnymi przeglądarkami. Jeśli masz rozbieżności JavaScript charakterystyczne dla silnika układu, najlepiej jest zaatakować go w ten sam sposób, w jaki zajęliśmy się problemami CSS; Kierowanie na tę przeglądarkę. NIE UŻYWAJ PRZEGLĄDARKI PRZEGLĄDARKI, użyj wykrywania funkcji, aby wykryć przeglądarkę / jej poziom obsługi DOM.
JScript nie jest własną implementacją ECMAScript w IE; JScript był odpowiedzią IE na JavaScript firmy Netscape, który powstał przed ECMAScript.
Jeśli chodzi o atrybuty typu w elemencie skryptu, type = "text / javascript" jest domyślnym standardem (przynajmniej w HTML5), więc nie potrzebujesz atrybutu type, chyba że twój skrypt nie jest JavaScript.
O ile IE nie obsługuje innerHTML ... innerHTML została wynaleziona przez IE i nadal NIE jest standardem DOM. Inne przeglądarki przyjęły go, ponieważ jest przydatny, dlatego można go używać w różnych przeglądarkach. Jeśli chodzi o dynamicznie zmieniające się tabele, MSDN mówi, że „ze względu na specyficzną strukturę wymaganą przez tabele, innerText i innerHTML obiektów table i tr są tylko do odczytu”. Nie wiem, ile z tego początkowo było prawdą, ale najwyraźniej współczesne przeglądarki odkryły to, radząc sobie ze złożonością układu tabeli.
Gorąco polecam przeczytanie PPK w JavaScript
Jeremy Keith's DOM Scripting
Douglas Crockford's JavaScript: The Good Parts
i Christian Hellman's Beginning JavaScript with DOM Scripting i Ajax, aby dobrze zrozumieć JavaScript.
Jeśli chodzi o frameworki / biblioteki, jeśli nie masz jeszcze dobrego zrozumienia JavaScript, powinieneś ich unikać. Dwa lata temu wpadłem w pułapkę jQuery i chociaż byłem w stanie dokonać wspaniałych wyczynów, nigdy nie nauczyłem się niczego o poprawnym kodowaniu JavaScript. Z perspektywy czasu jQuery to niesamowity, niesamowity zestaw narzędzi DOM, ale moja niezdolność do nauczenia się prawidłowych zamknięć, prototypowego dziedziczenia itp. Nie tylko cofnęła moją osobistą wiedzę, ale moja praca zaczęła osiągać ogromne hity wydajnościowe, ponieważ nie miałem pojęcia, co robię.
JavaScript to język przeglądarki; Jeśli jesteś inżynierem po stronie klienta / front-endu, niezwykle ważne jest, aby sterować JavaScript. Node.js wprowadza JavaScript w pełnym zakresie, codziennie widzę ogromne postępy w jego rozwoju; JavaScript po stronie serwera będzie standardem w najbliższej przyszłości. Wspominam o tym, aby jeszcze bardziej podkreślić, jak ważny jest teraz i będzie JavaScript.
JavaScript zrobi więcej fal niż Railsy.
Miłego tworzenia skryptów!