您的位置:首页 > Web前端 > JavaScript

JS 获取函数传值的多余参数

2013-03-30 11:50 204 查看
function fn(a,b){
document.write(a+'<br />');
document.write(b+'<br />');
}

fn(100,200,300,400)

像上面这种情况,函数只定了2个形参,但调用函数的时候却传了4个参数,

如果想要获取后面的2个参数,可以用 arguments 对象来获得,

arguments 对象有个属性 length ,用来获取函数里
实参 的个数【实际传了几个参数,length 的值就为几】;

arguments
的索引从0,1,2,3,... ... 递增,与实参逐个对应;

参照上面的例子,可以获得:

    arguments[0]  = 100;

    arguments[1]  = 200;

    arguments[2]  = 300;

    arguments[3]  = 400;

arguments 和
实参 相互为副本,

如果实参的值改变了,那么 arguments
对应的值也改变了;


如果arguments的值改变了,那么
实参 对应的值也改变了;


例如:

function fn(a,b){
document.write(a+'<br />');
document.write(b+'<br />');
document.write(arguments[0]+'<br />');
document.write(arguments[1]+'<br />');
document.write(arguments[2]+'<br />');
document.write(arguments[3]+'<br />');
document.write('<hr />');

a = 'AAAA';
document.write(arguments[0]+'<br />'); //打印出:AAAA

arguments[1] = 'BBBB';
document.write(b+'<br />'); //打印出:BBBB
}
fn(100,200,300,400)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: