今天遇到一个问题, 那就是js一个函数 function(){ } 你不知道要传几个参数过来, 那么怎么去接收这些参数呢 ?
直接贴代码 如下
<script> function add() { if ( arguments.length===0)return 0; var sum=0; for (var i=0;i<arguments.length;i++){ sum+=arguments[i]; } return sum; } console.log(add()); console.log(add(1,2)); console.log(add(3,4,5)); </script>
执行结果:
类数组 argument 不是真正的数组, 其实是一个对象 一个类似数组的对象。
有length 属性 返回传入参数的长度。
callee 属性, 返回函数本体,
function add() { console.log(arguments.callee); if ( arguments.length===0)return 0; var sum=0; for (var i=0;i<arguments.length;i++){ sum+=arguments[i]; } return sum; }
结果