建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

JavaScript在函数内部修改参数值

时间:2011-03-18 08:56来源: 作者: 点击:
一般我们不会这样做,这里只是和大家讨论一下,这里有三种方式可以修改。 1,直接修改函数声明时的形参 1 function f1(a) { 2   &nb

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

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

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

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


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

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

效果同函数f1。


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

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

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


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

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

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

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片