Autor | Zpráva | ||
---|---|---|---|
jvackar Profil |
#1 · Zasláno: 16. 9. 2007, 09:45:54
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 |
#2 · Zasláno: 16. 9. 2007, 09:58:08
AFAIK ne
zápis <script src="..."> scripty vloží do (stejné) stránky |
||
Joker Profil |
#3 · Zasláno: 16. 9. 2007, 11:00:45
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 |
#4 · Zasláno: 16. 9. 2007, 11:38:14
<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 |
#5 · Zasláno: 16. 9. 2007, 13:08:51
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:
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á. |
||
Časová prodleva: 17 let
|
0