2

foo(a, b, c) 関数のパラメータ (a, b, c) デフォルト定義

これが私のコードです:

function foo(a, b, c) {


    // a, b, c default @param ?


};

または foo(a, b, callback) {} デフォルトのコールバック ? ありがとう。

4

3 に答える 3

4

通常の解決策は次のとおりです。

function foo(a, b, c) {
    a = a || 22;
    b = b || "ee";
    c = c || function(){};
};

パラメータが有効な値として0またはを持つことができる場合は、テストすることができます''

 if (typeof(a)=='undefined') a==22;
于 2012-10-14T14:39:02.020 に答える
0

CoffeeScript は、そのための優れた構文を提供します。

test = (a = 1, b = 2) ->
  console.log a, b

JavaScript にコンパイルする場合:

(function() {
  var test;

  test = function(a, b) {
    if (a == null) {
      a = 1;
    }
    if (b == null) {
      b = 2;
    }
    return console.log(a, b);
  };

}).call(this);
于 2012-10-14T14:42:22.683 に答える
-2

fo関数を与えるだけです。

function foo(a, b, callback) {

    // @param defaults
    (a || (a = "default a"));
    (b || (b = "default b"));


    // if  callback not function is function() {} --> callback();
    (callback || (callback = function() { return ""}));


    console.log(a, b, callback());

};

foo(); // default a default b undefined
foo("a--", "b--", function() { return "callback"}); // a-- b-- callback

また

function foo(a, b, callback) {

    // @param defaults
    var a = a || "default a";
    var b = b || "default b";

    // if  callback not function is function() {} --> callback();
    var callback = callback || function() {};

    console.log(a, b, callback());
};
于 2012-10-14T14:39:29.717 に答える