Hur sätter man default values på funktionsargument i javascript?
typ function test(var="bla")
så att variabeln var får värder "bla" om man anropat funktionen utan argument.
8 svar · 348 visningar · startad av M@rtin
Hur sätter man default values på funktionsargument i javascript?
typ function test(var="bla")
så att variabeln var får värder "bla" om man anropat funktionen utan argument.
Är ganska säker på att det inte går. Men man kan skriva så här:
function foo(bar)
{
if (bar == null) bar = 123;
alert(bar);
}
Ah ja det funkade ju faktiskt, trodde inte de accepterade att man inte skickade med argument.
Tycker dock att det är lite dåligt att det inte går på ett snyggare sätt :/
Eriks exempel ska egentligen inte funka. Detta är teoretiskt sett ett mer korrekt sätt att gör detta på:
function foo(bar)
{
if (typeof bar == "undefined") bar = 123;
alert(bar);
}
Okej, kör på undefined istället då :)
nitro2k01 skrev:
M@rtin skrev:
Okej, kör på undefined istället då :)
Och glöm inte typeof före.
Borde det inte vara typeof(bar) istället för typeof bar?
@nders skrev:
nitro2k01 skrev:
M@rtin skrev:
Okej, kör på undefined istället då :)
Och glöm inte typeof före.
Borde det inte vara typeof(bar) istället för typeof bar?
Nej! Det behövs inte, eftersom typeof är en unär operator, som !, ~, ++ och --.
Men det skadar förstås inte, lika lite som det skadar att skriva t ex y=(5)+(x);
För övrigt tar typeof minsta möjliga scope, så man behöver inte skriva if ((typeof bar) == "undefined") heller.
okay, tack, nitro! :)