Ä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);
}
8 svar · 351 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!