可选参数的函数还可以这样设计!

// foo(a[, b], c)
// 接收2~3个参数,b是可选参数,如果只传2个参数,b默认为null:
function foo(a, b, c) {
    if (arguments.length === 2) {
        // 实际拿到的参数是a和b,c为undefined
        c = b; // 把b赋给c
        b = null; // b变为默认值
    }
    // ...
}

php也可以用这个思路来设计哈,不过php没有arguments这样的关键字,可以通过func_num_args方法来获取传入函数内部的参数个数。

 

function sum(...rest) {
  var i=0;
  rest.forEach(function(item){
    i+=item;
  })
  return i;
}

还有这样神奇的写法!

posted @ 2016-12-16 22:34  JOSEFA  阅读(271)  评论(0编辑  收藏  举报
shopify traffic stats View My Stats