MiYavI Posted March 20, 2008 Report Share Posted March 20, 2008 (edited) Labdien, esmu iesācējs JS un vēlētos mazu paskaidrojumu. Es īsti nesaprou return funkcijas jegu. Es saprotu, ka ar return var atgriezties pie kādas funkcijas, piem return funkcija();, taču ko nozīmē, piem, return false; vai return true;? Un vēl. Piemēram Man ir kods: <script> function funkcija(){ alert("Sveiks!"); var x = prompt("Kā tevi sauc?"); if (x == null || x == "") { alert("Lūdzu ieraksti savu vārdu"); } else { alert("Sveiks, "+x); } } </script> Un kad uzspiež uz Ok alert funkcijā, kur saka, lai ieraksta vārdu, tad aiziet atkal uz mainīgo x, jeb prompt, lai atkāroti mēģinātu ierakstīt vārdu. Taču gribu, lai tas nesākas atkal no funkcijas sākuma, bet tikai no tā confirm. aa un vēl.. piem kods. <script> function funkcija(){ alert("Sveiks!"); var x = prompt("Kā tevi sauc?"); if (x == null || x == "") { alert("nu ja neteiksi, tad piem tavs vārds būs kaka"); var x == "kaka"; } else { alert("Sveiks, "+x); } } </script> viņš negrib x dot jaunu vērtību.. Edited March 20, 2008 by MiYavI Link to comment Share on other sites More sharing options...
bubu Posted March 20, 2008 Report Share Posted March 20, 2008 return nevar atgriezties pie kādas funkcijas. Return vienmēr atgriežās no tekošās funkcijas. Koda piemērs: function fun() { A; return 123; B; } C; var x = fun(); D; Vispirms tiks izpildīts tas, kas ir C daļā, pēc tam tiks izsaukta fun funkcija. Tiks izpildīta A daļa. Pēc tam tiks izpildīts return steitments, kas iziet no fun funkcijas. Tātad x mainīgajam globālā apgabalā (scope) tiks piešķirta vērtība 123. Pēc tam tiks izpildīa D daļa un skripts beigsies. Rakstot return Foo(); netiek domāts, ka notiek kautkāda atgriešanās pie/no Foo funkcijas. Notiek Foo funkcijas izsaukšana un funkcijas Foo atgriežamā vērtība (kuru norāda arī ar return steitmentu) tiek atgriezta kā tekošās funkcijas rezultāts: function Foo() { return 233; } function Bar() { return Foo(); } var x = Bar(); x vērtība šajā piemērā būs 233. Tavā piemērā, kur gribi cikloties, ir jālieto while konstrukcija. Palasi vairāk dokumentācijā, kas tas tāds while ir un ko tas dara. Link to comment Share on other sites More sharing options...
MiYavI Posted March 20, 2008 Author Report Share Posted March 20, 2008 Un kas ir return false/true ? Link to comment Share on other sites More sharing options...
Aleksejs Posted March 20, 2008 Report Share Posted March 20, 2008 return false - nozīmē, ka funkcija atgriež vērtību FALSE - tātad vari uzreiz likt šo funkciju if konstrukcijā: if(funkcija()){ alert('funkcija atgriezusi TRUE'); } else { alert('funkcija atgriezusi FALSE'); } Link to comment Share on other sites More sharing options...
bubu Posted March 20, 2008 Report Share Posted March 20, 2008 Saproti, ka rakstot "return X;" tu X vietā vari likt jebkādu izteiksmi. Un tam nav nekāda sakara ar returnu, ko tu tur liec. Liec tādu vērtību kādu vien tev vajag. Link to comment Share on other sites More sharing options...
marrtins Posted March 21, 2008 Report Share Posted March 21, 2008 Mož apgūsti kādus nebūs programmēšanas pamatus, pirms ķerties pie konkrētas valodas? Piemēram, "Kā Pēcis Beisikāns Maiju Saprātiņu programmēt mācīja" Link to comment Share on other sites More sharing options...
Recommended Posts