Konfliktet e Variablave në JavaScript
Le të themi se kemi një faqe HTML index.html,
në të cilën në tag-un script ju krijohet
variabla str dhe e shfaqni atë në ekran:
<html>
<head>
<script>
let str = 'script text';
alert(str); // do të shfaqë 'script text'
</script>
</head>
<body>
...
</body>
</html>
Le të themi gjithashtu se kemi skedarin script.js,
në të cilin gjithashtu përcaktohet variabla str:
let str = 'file text';
Le të themi tani që skedari ynë script.js lidhet
në faqen index.html si më poshtë:
<html>
<head>
<script>
let str = 'script text';
</script>
<script src="script.js"></script>
<script>
alert(str);
</script>
</head>
<body>
...
</body>
</html>
Meqenëse variabla str ekziston edhe në skedarin
index.html, edhe në skedarin script.js,
do të ketë një konflikt, në të cilin do të fitojë ajo variabël
që është shkruar më poshtë, domethënë variabla
nga skedari script.js. Kjo do të thotë se kodi ynë
do të shfaqë 'file text', dhe jo 'script
text', siç presim ne.
Problemi është në të vërtetë shumë serioz. Në një faqe reale, më shpesh se jo, do të keni disa skedarë me skriptet tuaja, përveç kësaj, ju do të lidhni disa shtojca nga palët e treta. Në këtë rast, variablat dhe funksionet e një skedari mund të bien në konflikt me variablat dhe funksionet e një skedari tjetër.