Migogoro ya Vigezo katika JavaScript
Wacha tuwe na ukurasa wa HTML index.html,
ambayo kwenye kitambulishi script unaunda
kigezo str na ukionyesha kwenye skrini:
<html>
<head>
<script>
let str = 'maandishi ya hati';
alert(str); // itaonyesha 'maandishi ya hati'
</script>
</head>
<body>
...
</body>
</html>
Wacha tuwe pia na faili script.js,
ambayo pia imewekewa kigezo str:
let str = 'maandishi ya faili';
Wacha sasa faili yetu script.js iunganishwe
kwenye ukurasa index.html kama ifuatavyo:
<html>
<head>
<script>
let str = 'maandishi ya hati';
</script>
<script src="script.js"></script>
<script>
alert(str);
</script>
</head>
<body>
...
</body>
</html>
Kwa kuwa kigezo str kipo katika faili
index.html na pia katika faili script.js,
kutakuwapo na mgogoro, ambapo kigezo kitakachoshinda
ni kile kilichoandikwa chini, yaani kigezo
kutoka faili script.js. Hii inamaanisha msimbo wetu
utaonyesha 'maandishi ya faili', wala si 'maandishi
ya hati', kama tulivyotarajiwa.
Shida yenyewe ni kubwa sana. Katika tovuti halisi mara nyingi utakuwa na faili kadhaa zenye msimbo wako, zaidi ya hayo, utaunganisha programu-jalizi za wahindi. Katika hali hii, vigezo na vitendakazi vya faili moja vinaweza kugongana na vigezo na vitendakazi vya faili nyingine.