function.length和arguments的区别

function.length:接收到函数体外的参数计算长度

arguments:接收到函数体内的参数计算长度

 1 /**
 2  * 函数参数长度和伪数组(arguments)长度不一样! -> 接收到函数体外的参数计算
 3  */
 4 function func1() { }
 5 function func2(a, b) { }
 6 console.log(func1.length);
 7 console.log(func2.length);
 8 
 9 
10 /**
11  * arguments可能出现在那 -> 接收到函数体内的参数计算.
12  */
13 function add() {
14     console.log('参数长度:', arguments.length)
15     var sum = 0, len = arguments.length;
16     for (var i = 0; i < len; i++) {
17         sum += arguments[i];
18     }
19     return sum;
20 }
21 
22 console.log(add(1, 2, 3, 6));

 

posted @ 2018-09-21 11:30  Sunsin  阅读(678)  评论(0编辑  收藏  举报