javascript函数参数可修改问题的探讨

一个中风问题被认为是,而且没有人通常修改函数中的参数值。只有三种方法来修改它。

1,直接修改函数声明的参数。
复制代码代码如下所示:
函数f1(a){
警报(a);
a = 1;更改参数a
警报(a=1);
警报(参数{ 0 } = 1);
}
f1(10);

函数f1定义参数a,当调用通过参数10时,第一个持久性有机污染物10,修改的a为1,两个真值被弹出,a和参数{ 0 }为1。

2,修改函数中的参数对象
复制代码代码如下所示:
函数F2(a){
警报(a);
参数{ 0 } = 1; /修改参数
警报(a=1);
警报(参数{ 0 } = 1);

}

其效果与F1的函数相同。

3,函数中声明的本地变量和参数的相同名称。
复制代码代码如下所示:
函数F3(a){
警报(a);
var = 1;本地变量声明a并分配给1
警报(a=1);
警报(参数{ 0 });
}
F3(10);

函数F3定义了形参A,函数在内部声明一个局部变量,同时赋值1,但是A仍然是参数A,最后一个弹出框的参数{ 0 }被修改为1,这可以证明。

4,如果只声明局部变量a,则不分配它,情况也不同。
复制代码代码如下所示:
函数F3(a){
var a;唯一语句,没有赋值
警报(a);
警报(参数{ 0 });
}
F3(10);

都是10,不是未定义的。