あなたがphpでできるように
<?php
function whatever($var='') {
}
?>
javascriptでそれを行うことができますか?
あなたがphpでできるように
<?php
function whatever($var='') {
}
?>
javascriptでそれを行うことができますか?
引数に「デフォルト」値を設定する場合は、次のようにすることができます。
function whatever(arg1) {
arg1 = arg1 || 'default value';
}
arg1に、、、、、、または長さがゼロの文字列などの偽null
の値 が含まれている場合は、「デフォルト値」が設定されることに注意してください。undefined
0
false
NaN
""
また、JavaScript関数では、arguments
オブジェクトがあります。これは、関数に渡される引数を含む配列のようなオブジェクトです。したがって、入力引数なしで関数を宣言することもできます。また、関数を呼び出すときに、いくつかを渡すことができます。
function whatever() {
var arg1 = arguments[0];
}
whatever('foo');
編集:@bobbymcrのコメントのように、デフォルト値が本当に定義されていない場合にのみデフォルト値を設定するには、次のようなこともできます。
function whatever(arg1) {
arg1 = arg1 === undefined ? 'default value' : arg1;
}
javascriptでは、パラメーターに関係なく関数を呼び出すことができます。
言い換えれば、次のような関数を宣言することは完全に合法です。
function func(par1, par3) {
//do something
}
そしてそれをこのように呼びます:
func();
これを直接行うことはできないと思いますが、これを実現する方法はいくつかあります。JavaScriptでは関数呼び出しからパラメーターを省略できるため、パラメーターが未定義かどうかを確認し、未定義の場合はデフォルト値を指定できます。
function DoSomething(x, y, z)
{
// set default values...
if (typeof x == "undefined")
{
x = 5;
}
if (typeof y == "undefined")
{
y = "Hi";
}
if (typeof z == "undefined")
{
z = 3.14;
}
// ...
}
次の方法で呼び出して、パラメーターが欠落しているときにデフォルト値が割り当てられることを確認できます。
DoSomething();
DoSomething(4);
DoSomething(4, "X");
DoSomething(4, "X", 7.77);
JSでは、デフォルトでは引数は必要ありません。$ arg =''の実装では、次を使用できます
function whatever(vars) {
vars = vars || 'default';
/* your code */
}