| 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 alertem 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); //undefinedPS. Noxovu vysvetleni nerozumim ani ja :) Plne cizich slov. |
||
|
Časová prodleva: 14 let
|
|||
0