0

のような一般的な確認メソッドを書きたい

var confirmDelete = function (fun) {
    if (confirm("Do you want to delete " + arguments[1])) {
        $(arguments[2]).remove();
        fun(arguments[3]);
    }
    return false;
}

1 つのパラメーターでは問題なく動作funしていますが、2 つ以上のパラメーターに適合させたいのですが、どうすればよいですか?

4

3 に答える 3

0

JavaScript では、必要な数のパラメーターを渡すことができます。

それらを渡さない場合、それらは未定義になります。

だから...次のようなことができます:

var confirmDelete = function(arg1, arg2, arg3) {
    if (typeof arg2 === 'undefined') {
        arg2 = "default value for arg2";
    }
    if (typeof arg3 === 'undefined') {
        arg3 = "default value for arg3";
    }
    // do more stuff...
}

また、魔法のarguments変数についてここで読むこともできます。

于 2013-06-12T03:17:33.950 に答える
0

関数を次のように書き直すことができます

var confirmDelete = function fun(arg1, arg2) {
  // number of parameter as your need
  // TODO some stuff
  fun(arg1 -1, arg2 +3); // call it recursively 
  return false; 
}
于 2013-06-12T03:20:12.157 に答える