Funktion (ECMAScript)

Från Rilpedia

Hoppa till: navigering, sök
Wikipedia_letter_w.pngTexten från svenska WikipediaWikipedialogo_12pt.gif
rpsv.header.diskuteraikon2.gif

Alla funktioner ges prefixet function och funktionsnamnet följs av ett par parenteser som kan innehålla namn på argumenten. Alla funktioner måste dessutom ha ett par spetsparenteser - { } som betecknar kodblocket, även om blocket saknar kod eller koden bara innehåller ett kommando. Vanligtvis brukar en radbrytning anges efter den första spetsparentesen och före den andra.

function enFunktion()
{
}

En anonym funktion kan skapas genom att utelämna funktionsnamnet, och då sätts ibland ett semi-kolon efter den avslutande spetsparentesen - function(){};.

Argument

Exempel på använding av argument:

function enFunktion(namn)
{
}

Argument kan alltid nås genom objektet arguments (notera att det handlar av ett objekt av typen Object och inte en Array) där de hamnar under index 0..N (arguments[0] ger det första argumentet) Ingen error eller varning ges om för få eller för många argument skickas till funktionen. Om för få argument anges får de överflödiga variablerna värdet undefined. Om för många anges händer ingenting. Valfria argument kan inte anges som argumentNamn=standardvärde som i vissa andra språk, men det kan simuleras med något i stil med följande:

function enFunktion(variabel)
{
  if (typeof(variabel) == "undefined") { // om variabel inte är definierad (det vill säga inte skickades till funktionen)
    var variabel = standardvärde; // sätt dess värde till någonting
  }
}

Returvärde

Funktioner returnerar alltid ett värde, men om inget värde har return framför sig kommer istället undefined att returneras.

function enFunktion(variabel)
{
  if (variabel) {
    return variabel; // variabel returneras
  }
  // här kommer undefined returneras
}

Det anses av många som dålig programmersteknik att ha en funktion som bara returnerar värden ibland.

Se även

Personliga verktyg