作业帮 > Javascript > 教育资讯

JavaScript教程:JavaScript在函数内部修改参数值

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/10 06:39:04 Javascript
JavaScript教程:JavaScript在函数内部修改参数值
JavaScript教程:JavaScript在函数内部修改参数值Javascript
【无忧考网-JavaScript教程:JavaScript在函数内部修改参数值】:

一般我们不会这样做,这里只是和大家讨论一下,这里有三种方式可以修改。

1,直接修改函数声明时的形参

1function f1(a) {
2    alert(a);
3    a = 1;//修改形参a
4    alert(1 === a);
5    alert(1 === arguments[0]);
6}
7f1(10);

函数f1定义了参数a,调用时传参数10,先弹出10,修改a为1,弹出两次true,a和arguments[0]都为1了。


2,通过函数内部的arguments对象修改

1function f2(a) {
2    alert(a);
3    arguments[0] = 1;//修改arguments
4    alert(1 === a);
5    alert(1 === arguments[0]);
6      
7}

效果同函数f1。


3,函数内部声明的局部变量与形参同名

1function f3(a) {
2    alert(a);
3    var a = 1;//声明局部变量a且赋值为1
4    alert(1 === a);
5    alert(arguments[0]);
6}
7f3(10);

 函数f3定义了形参a,函数内部声明局部变量a同时赋值为1,但这里的a仍然是参数a,从最后弹出的arguments[0]被修改为1可以证明。


4,如果只是声明局部变量a,却不赋值,情况又不一样了

1function f3(a) {
2    var a;//仅声明,不赋值
3    alert(a);
4    alert(arguments[0]);
5}
6f3(10);

这时候弹出的都是10,而不是undefined。

Javascript