js argument实参集合与局部变量、参数关系

形参

形式上传递的参数

function fn1(a,b,c) {//a,b,c就是形参

实参

实际传递的参数

fn1 (1,2,5);//1,2,5就是实参

argument

定义: 实参的集合

用法:

e.g.1直接返回

fn1 (1,2,5);
function fn1() {
alert(arguments);//object arguments(注意返回的不是1,2,5)
}

e.g.2返回长度

fn1 (1,2,5);
function fn1() {
alert(arguments.length);//3,有三个实参所以长度是三
}

e.g.3 返回某一个实参

fn1 (1,2,5);
function fn1(a,b,c) {
alert(arguments[arguments.length-1]);//5
}

作用:当函数的参数无法确定时,用arguments

alert(sum(1,2,3));//6
alert(sum(1,2,3,4));//10
function sum() {
var n=0;
for (var i = 0; i < arguments.length; i++) {
n+=arguments[i];
}
return n; }

argument与作用与的关系

var a=1;
function fn2(a) {
arguments[0] = 3;
alert(a);//3
var a=2;
alert(arguments[0]);//2
}
fn2(a);
alert(a);//1(没传进去?)
上一篇:为 ASP.NET Web API 创建帮助页面(转载)


下一篇:hdu_5793_A Boring Question(打表找规律)