Vypisanie funkcie – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Vypisanie funkcie – JavaScript, AJAX, jQuery – Fórum – Programujte.comVypisanie funkcie – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

gizmo160
Newbie
2. 11. 2010   #1
-
0
-

zdravim, potreboval by som poradit ako vypisat funkciu ktoru volam viac krat aby sa vzdy vypisala. Toto je moj kod:

function nasob(a,b)  { 

document.write("Nasobenie: "+a+" x "+b+" = ");
return a*b;
}

function delen(a,b) {
document.write("Delenie: "+a+" / "+b+" = ");
return a/b;
}

function scit(a,b) {
document.write("Sucet: "+a+" + "+b+" = ");
return a+b;
}

function odcit(a,b) {
document.write("Rozdiel: "+a+" - "+b+" = ");
return a-b;
}


var pole = new Array (3);
pole[0]=nasob;
pole[1]=delen;
pole[2]=scit;
pole[3]=odcit;



function vysledok() {
vysledok = pole[Math.floor(Math.random()*pole.length)](85,41);
return vysledok;
}

document.write(vysledok()+"<br>"); //prvy mi vypise a ostatne nie
document.write(vysledok()+"<br>");
document.write(vysledok()+"<br>");
document.write(vysledok()+"<br>");
document.write(vysledok()+"<br>");
document.write(vysledok()+"<br>");
document.write(vysledok()+"<br>");


Problem je v tom ze mi vzdy vypise len jeden riadok a nic viac. Nevedel by mi niekto poradit?

Nahlásit jako SPAM
IP: 194.160.135.–
pepiino0
Duch
2. 11. 2010   #2
-
0
-

To gizmo16 :



function vysledok() {
vysledok = pole[Math.floor(Math.random()*pole.length)](85,41);
return vysledok;
}


používá glob. proměnnou vysledok, použij var pro deklaraci lok. proměnné.


function vysledok() {
var vysledok = pole[Math.floor(Math.random()*pole.length)](85,41);
return vysledok;
}



Vysvětlení : deklarací funkce vysledok zaroven vznikne globální proměnná vysledok, která obsahuje právě tuto fci. Ve fci ale používáš proměnnou vysledok, a jelikož ji nedeklaruješ jako lokální (pomocí klíčového slova var), tak se použije globální => přepíšeš si v ní hodnotu -> už v ní není funkce ale nějaké číslo. Takže při druhém volání se pokoušíš volat jako fci číslo.


Dobrá rada na závěr: zapomeň, že existuje document.write(...). Věř mi, není to dobrá věc.
Pro ladění použij prohlížeč, který má vývojářskou js konzoli (Chrome, Safari, nebo FF+rozšíření firebug). Vyskočila by ti tam chyba ve stylu "number is not function".

Nahlásit jako SPAM
IP: 80.188.97.–
Josef Adamčík [br] email: josef.adamcik@gmail.com [br] blog: http://zapisnik.pepiino.cz [br] ( O JavaScriptu, webu a vůbec...) twitter: http://twitter.com/pepiino [br] homepage: http://josef-adamcik.cz [br]
gizmo160
Newbie
2. 11. 2010   #3
-
0
-

diky presne toto som potreboval.... ten firedeburger je to fakt dobra vec...

Nahlásit jako SPAM
IP: 194.160.135.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 25 hostů

Podobná vlákna

Vypisanie pola js — založil gizmo16

Vypísanie položiek v DB — založil User

PHP, vypísanie riadkov — založil Anonymní uživatel

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý