// 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; }
还有这样神奇的写法!
时间: 2024-10-10 07:07:01