2

あなたがphpでできるように

<?php
function whatever($var='') {

}
?>

javascriptでそれを行うことができますか?

4

4 に答える 4

12

引数に「デフォルト」値を設定する場合は、次のようにすることができます。

function whatever(arg1) {
  arg1 = arg1 || 'default value';
}

arg1に、、、、、、または長さがゼロの文字列などの偽nullの値 が含まれている場合は、「デフォルト値」が設定されることに注意してください。undefined0falseNaN""

また、JavaScript関数では、argumentsオブジェクトがあります。これは、関数に渡される引数を含む配列のようなオブジェクトです。したがって、入力引数なしで関数を宣言することもできます。また、関数を呼び出すときに、いくつかを渡すことができます。

function whatever() {
  var arg1 = arguments[0];
}

whatever('foo'); 

編集:@bobbymcrのコメントのように、デフォルト値が本当に定義されていない場合にのみデフォルト値を設定するには、次のようなこともできます。

function whatever(arg1) {
  arg1 = arg1 === undefined ? 'default value' : arg1;
}
于 2009-09-19T18:42:30.780 に答える
3

javascriptでは、パラメーターに関係なく関数を呼び出すことができます。

言い換えれば、次のような関数を宣言することは完全に合法です。

 function func(par1, par3) {

   //do something
  }

そしてそれをこのように呼びます:

 func();
于 2009-09-19T18:40:24.747 に答える
2

これを直接行うことはできないと思いますが、これを実現する方法はいくつかあります。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);
于 2009-09-19T18:45:10.657 に答える
0

JSでは、デフォルトでは引数は必要ありません。$ arg =''の実装では、次を使用できます

function whatever(vars) {  
   vars = vars || 'default';  
   /* your code */    
}
于 2009-09-19T18:42:53.783 に答える