首页 > 代码库 > 可选参数的函数还可以这样设计!

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

// 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;}

还有这样神奇的写法!

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