⊗jsPmMCVD 496 of 505 menu

Konflikty zmiennych w JavaScript

Załóżmy, że mamy stronę HTML index.html, na której w tagu script tworzysz zmienną str i wyświetlasz ją na ekranie:

<html> <head> <script> let str = 'script text'; alert(str); // wyświetli 'script text' </script> </head> <body> ... </body> </html>

Załóżmy, że mamy również plik script.js, w którym również jest zdefiniowana zmienna str:

let str = 'file text';

Załóżmy teraz, że nasz plik script.js jest podłączony do strony index.html w następujący sposób:

<html> <head> <script> let str = 'script text'; </script> <script src="script.js"></script> <script> alert(str); </script> </head> <body> ... </body> </html>

Ponieważ zmienna str występuje zarówno w pliku index.html, jak i w pliku script.js, powstanie konflikt, w którym wygra ta zmienna, która jest zapisana poniżej, czyli zmienna z pliku script.js. Oznacza to, że nasz kod wyświetli 'file text', a nie 'script text', jak oczekujemy.

Problem jest w rzeczywistości bardzo poważny. W prawdziwej stronie internetowej najczęściej będziesz miał kilka plików z własnymi skryptami, oprócz tego będziesz podłączać jakieś zewnętrzne wtyczki. W takim przypadku zmienne i funkcje jednego pliku mogą kolidować ze zmiennymi i funkcjami innego pliku.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć