Avatar billede smiley2 Nybegynder
04. februar 2001 - 22:04 Der er 10 kommentarer og
1 løsning

Funktion og return

    function checkValuta(tal) {
       
        var check = true;
       
        var i = 0;
       
        while (i <= tal.length) {
       
            if (tal.charAt(i) <= 0 || tal.charAt(i) >= 9 || tal.charAt(i) == \',\')
                tjeck = false;
            }
           
            i = i + 1
        }
       
        if (check == true) {
            return true;
        }
        else {
            return false;
        }
   
    }

I denne funtion brokker den sig over, at \"return sætningen er uden for funktionen\".. det kan da ikke passe eller hvad? hjælp!
Avatar billede erikjacobsen Ekspert
04. februar 2001 - 22:13 #1
Du mangler en { efter if-en

  if (tal.charAt(i) <= 0 || tal.charAt(i) >= 9 || tal.charAt(i) == \',\')  {

Sådan skal det være
                     
Avatar billede smiley2 Nybegynder
04. februar 2001 - 22:14 #2
arhg! ja! (unskyld tonen det har drillet noget tid)

Takker mange gange
Avatar billede erikjacobsen Ekspert
04. februar 2001 - 22:20 #3
Helt i orden - men du behøver jo ikke gå i panik, når du har eksperten.dk
Avatar billede jakoba Nybegynder
04. februar 2001 - 22:42 #4
\"check\"      er navnet idet du definerer variabel forrest i funktionen
\"tjeck\"      er en ny variabel der måske bliver sat sand af if setningen
\"check\"      er det du returnerer.
Avatar billede erikjacobsen Ekspert
04. februar 2001 - 22:50 #5
;-) jakoba. Jamen, det var jo ikke det han spurgte efter. Og slet
ikke noget jeg kiggede efter....

Når det er rettet kan han jo også erstatte

  if (check == true) {
    return true;
  }
  else {
    return false;
  }

med

  return check;
Avatar billede jakoba Nybegynder
04. februar 2001 - 22:55 #6
fair enuft :-)) vi lar ham finde den sidste selv.
Avatar billede erikjacobsen Ekspert
04. februar 2001 - 23:05 #7
Syn\'s du - skal vi ikke lide presse de sidste dråber ud af citronen....
Her er en lidt mindre version, der gør det samme, og en anelse hurtigere.
Ikke så meget, at man vil bemærke det, men alligevel:

  function checkValuta(tal) {
    var i = 0;
    for (i=0;i<tal.length;i++) {
      if ((tal.charAt(i) < \'0\' || tal.charAt(i) > \'9\') && tal.charAt(i) != \',\') {
          return false;
      }
    }
    return true;                             
  }

og så er der ovenikøbet rettet et par fejl (cifre og komma er tilladt, ikke?)
Avatar billede jakoba Nybegynder
04. februar 2001 - 23:11 #8
Ja, så er der vist ikke flere. RegExps ville være ondt. :)
Avatar billede jumper Nybegynder
05. februar 2001 - 11:54 #9
jakoba, det ville da være sødt:

function checkValuta(tal){
  return /^[\\d,.]+$/.test(tal)
}

(, og . er tilladt, ikke?) ;)

/Thor
Avatar billede smiley2 Nybegynder
05. februar 2001 - 15:11 #10
Mkay.. jeg fandt selv de andre bugz.... er LIGE startet på JavaScript så jeg vidte ikke man kunne \"return\" en variabel, men det giver jo sig selv.... (Tutorials er både godt og skidt I guess)
Avatar billede jakoba Nybegynder
05. februar 2001 - 18:26 #11
jumper >> Ahh, men kun eet punktum eller eet komma. Medmindre der tusindsepareres og så skal de andre være placeret rigtigt :)
Jeg prøvede at lave den igår og kom absolut ingen vegne.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester