⊗jsPmMCVD 496 of 505 menu

Változó ütközések a JavaScript-ben

Tegyük fel, hogy van egy index.html HTML oldalunk, amelyen a script tagben létrehozunk egy str változót és kiírjuk a képernyőre:

<html> <head> <script> let str = 'script text'; alert(str); // kiírja 'script text' </script> </head> <body> ... </body> </html>

Tegyük fel, hogy van egy script.js fájlunk is, amelyben szintén megadunk egy str változót:

let str = 'file text';

Tegyük fel most, hogy a script.js fájlunkat a következőképpen csatoljuk a index.html oldalhoz:

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

Mivel a str változó megtalálható mind a index.html fájlban, mind a script.js fájlban, ütközés fog bekövetkezni, amelyben az a változó nyer, amelyik alul van írva, azaz a script.js fájlból származó változó. Vagyis a kódunk 'file text'-t fog kiírni, és nem 'script text'-t, ahogy elvárnánk.

A probléma valójában nagyon komoly. Egy valós weboldalon esetünkben gyakran több szerkesztési fájl is lesz, emellett csatolni fogunk különféle harmadik féltől származó bővítményeket. Ebben az esetben az egyik fájl változói és függvényei ütközhetnek egy másik fájl változóival és függvényeivel.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás