Autor Zpráva
jvackar
Profil
Mám dotazík, lze použít stejný název polí v různých souborech js.
Mám např. soubor data1.js a v něm definováno:
var data = new Array("1","2");

a pak mám jiný soubor data2.js a v něm definováno:
var data = new Array("3","4","4");

V nějaké funkci bych potřeboval načíst data z obou souborů, např. velikost pole:
var velikost1 = data.length; - zapsat to ale nějak s cestou k souboru data1.js
var velikost2 = data.length; - zapsat to ale nějak s cestou k souboru data2.js

mám je načtené do stránky pomocí:
<SCRIPT LANGUAGE='JavaScript1.1' SRC='data1.js'></SCRIPT>
<SCRIPT LANGUAGE='JavaScript1.1' SRC='data2.js'></SCRIPT>
Jde to?Dík
Alphard
Profil
AFAIK ne
zápis <script src="..."> scripty vloží do (stejné) stránky
Joker
Profil
jvackar
Na názvu souboru se skriptem vůbec nezáleží. Jako "jeden skript" se bere všechno vložené na jedné stránce.

Výsledkem toho uvedeného by tedy mělo být: data = Array("3","4","4");
DJ Miky
Profil
<SCRIPT LANGUAGE='JavaScript1.1' SRC='data1.js'></SCRIPT>
<script type="text/javascript">
alert(data.length);
</script>
<SCRIPT LANGUAGE='JavaScript1.1' SRC='data2.js'></SCRIPT>
<script type="text/javascript">
alert(data.length);
</script>

:-)
mila
Profil
Stejnou proměnou použít můžeš, ale ta druhá přepíše první. Tzn. v tom není problém, pokud proběhe první skript, provede svojí práci a proměnou už nepotřebuje.

Všeobecně je dobré, pokud skripty používají v globálním kontextu jen minimum proměných. Zkus to vložit do nějaké fce - tam je proměná uzavřená, venku o ní nikdo nic neví a nikdo nic neudělá. Použít proměnou „data“ globálně zavání průšvihem s každým skriptem co přidáš.

Mimochodem existuje krásný trik:

(function() {
var data = ...
...
})();

Takhle můžeš provést co potřebuješ a přitom všechny proměné jsou lokální.

Když se podíváš na JQuery, tak si můžeš všimnout, jak je to knihovna nabitá funkcemi, přitom potřebuje jedinou proměnou, a to není ještě tak úplně nutná.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: