Hypertext ve formátu HTML, CSS, XML, vlastní varianty lineární prezentace informací ze serveru přicházejí do prostředí klienta - prohlížeče.
JavaScript - hlavní nástroj, pomocí kterého můžete analyzovat získané informace, používat a malovat podle značek stránek.
Nejčastěji tok informací tvoří server. Úkolem prohlížeče je vybrat ten, který potřebujete, a odpovídajícím způsobem jej používat. Samotný JavaScript může vytvářet řetězce. Zdrojem informací může být také text stránky nebo prvku stromu DOM vytvořeného z něj.
Obvykle stačí najít řetězec potřebný podřetězec nebo najít jednu věc a nahradit ji jinou věcí. JavaScript se liší od ostatních programovacích jazyků a měli byste zvyknout na jeho logiku. Nejprve je nahrazena funkce pro zpracování řetězce jazyka JavaScript (metoda string). Ve skutečnosti má každý řádek vlastní nástroj pro jeho použití.
Pro libovolný řádek můžete použít metodu replace s dvěma požadovanými argumenty. Prvým argumentem je regulární výraz s příznaky, druhým je to, co bylo nalezeno, nebo funkce, která bude volána pro každý detekovaný zápas.
Jednoduchá náhrada prvního výskytu podřetězec abc s def:
výsledek: "alfa def, beta, aBc, ABC, konec řádku", tj. byl nahrazen pouze první výskyt podřetězce abc.
pokud do regulárního výrazu expReg přidejte příznak "g":
výsledek bude stejný. Zbývající výskyty podřetězec jsou zapsány v jiném registru, takže JavaScript nahrazuje pomocí globálního vyhledávání v řetězci nenahradí nic jiného.
Přidání regulárního výrazu s příznakem "i":
získáme globální náhradu a výsledek: "alfa def, beta, def, def, end of line".
Funkce nahrazení jazyka JavaScript je druh smyčky definovaný řetězcem. Každá shoda požadovaného podřetězec ve zdrojovém řetězci bude mít za následek volání funkce. Pokud nepovažujete řetězec za předmět zpracování z hlediska vyhledávání / nahrazení, můžete si v rámci syntaxe jazyka JavaScript mluvit o vlastní verzi syntaxe smyčky.
V důsledku provádění tohoto kódu se zobrazí: "alfa x1, beta, x2, x3, konec řádku".
V parametrech funkce: m - toto je to, co se shodovalo s jedním z hranatých závorek (...) v běžném vyhledávacím výrazu; p1, p2, ... pN je obsah shodné konzoly; o je offset nalezeného podřetězce; s je zdrojový řetězec.
V kontextu výše uvedeného je třeba věnovat zvláštní pozornost: jedná se o zpracování řetězců, když se něco nahrazuje, jiný je, když je řetězec řídící sekvencí a všechny nalezené shody spadají do funkce, která provádí určitou sadu akcí.
Pokud půjdete dál, organizovaný cyklus může být rekurzivní. Samotný str a nalezený fragment se dostanou do funkce nazvané metodou JavaScript. Nic nebrání tomu, aby volání metody nahrazení bylo aplikováno na nalezený fragment. Výsledkem je hierarchicky-rekurzivní mechanismus se specifickým počtem akcí.
Navrhovaná myšlenka má mnohem větší schopnosti než klasika pro () {}, zatímco () {} smyčka. do {} při (). Algoritmus takové myšlenky se nikdy neztratí. Podle logiky věcí a podstaty procesu psaní programů není tak důležité, co programátoři manipulují s syntaktickými konstrukcemi, je důležité, jak správně a spolehlivě řešit úkol.
JavaScript je specifický programovací jazyk a jeho sféra kompetence se liší od ostatních jazyků, a to především vazbou na DOM - odpovídající mapování obsahu stránky (HTML + CSS) na strom objektů, které lze číst a spravovat.
Taková kontrola je k dispozici pouze pro serverové jazyky nepřímo a není příliš rozumné, aby se mimo prohlížeč to týkalo informací uvnitř prohlížeče.
Zpracování informací je hlavním problémem jakéhokoli programovacího jazyka. Dokonce i když mluvíme o jazycích jako Fortran nebo Lisp / Prolog: matematické výpočty a logika výrobních systémů, nakonec jde o zpracování informací.
První věc, kterou každý programovací jazyk dělá, je zpracování řetězců. V tomto kontextu služba nahrazení jazyka JavaScript nabízí vlastní možnost zpracování řetězce, což je v mnoha směrech výhodnější než mnoho jazyků serverů.
Je třeba mít na paměti, že JavaScript a jeho povaha a místo jeho použití mají specifické rysy, ale spíše dělají tvář jazyka jedinečnější než vytváření problému pro vývojáře. языка просто пропускает ошибочную конструкцию. Pokud se něco nesnáší, jazykový tlumočník jednoduše vynechá chybnou konstrukci. To je pravda někdy je velmi obtížné si všimnout, ale pokud ladíte v režimu vývojáře, okamžitě si všimnete všech problémových oblastí.
Známé chyby: Chyba javascript nahrazení dítěte je vadou v sociální síti VK spíše než jazykovým problémem. Když zpracováváme řetězce, stejně jako u jiných syntaktických konstrukcí, JavaScript není podrobný a prostě přeskočí, co nerozumí nebo co považuje za nesprávné.
Pomocí JavaScript je vždy výhodnější minimalizovat využití jeho schopností, zejména pravidelných výrazů. Objekt RegExp je dobrým řešením pro manipulaci s řetězci, ale čím je menší a jednodušší vzorek, tím spolehlivější a efektivnější je použít.