Autor | Zpráva | ||
---|---|---|---|
jouda01 Profil * |
#1 · Zasláno: 20. 4. 2012, 02:08:23
Ahoj, nasledujici kod vypise "test is not defined"
Proc to tak je? ta funkce test je prece definovana v prvnim kodu!? Jak to udelat aby ta ukazka fungovala? <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Untitled Document</title> </head> <body> <script> //toto bude v externim kodu - script.js (function(){ var test = function(){ alert(1); }; })(); </script> <script type='text/javascript'> (function(){test();})(); </script> </body> </html> Diky |
||
Nox Profil |
#2 · Zasláno: 20. 4. 2012, 08:33:17
Existuje jen ve scopu té funkce, není nijak předána ven, právě to dělá ten obalový function - symboly uvnitř nezaplevelí globální prostor
Možná by fungovalo function test(){ ... } anebo třeba window.test = test |
||
Chamurappi Profil |
#3 · Zasláno: 20. 4. 2012, 10:16:27
Reaguji na joudu01:
Můžeš dát var test; mimo tu samovolající funkci a přiřadit funkci s alert em až dodatečně uvnitř.
Reaguji na Noxe: „Možná by fungovalo function test(){ ... }“ Ne. Rozsah platnosti je stejný, akorát by pak proměnná test byla naplněna od začátku.
|
||
peta Profil |
function(){ var test = function(){ alert(1); }; Je to uplne stejne jako function aaa(){ var test = 5; }; aletr(test); //undefined PS. Noxovu vysvetleni nerozumim ani ja :) Plne cizich slov. |
||
Časová prodleva: 12 let
|
0