最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

浅谈JavaScript函数参数的可修改性问题_javascript技巧

来源:懂视网 责编:小采 时间:2020-11-27 21:16:43
文档

浅谈JavaScript函数参数的可修改性问题_javascript技巧

浅谈JavaScript函数参数的可修改性问题_javascript技巧:一道笔试题思考而来的,通常情况下没人会在函数内部修改参数值。这里仅拿出来讨论,有三种方式可以修改。 1,直接修改函数声明时的形参 代码如下:function f1(a) { alert(a); a = 1;//修改形参a alert(1 === a); alert(1 === ar
推荐度:
导读浅谈JavaScript函数参数的可修改性问题_javascript技巧:一道笔试题思考而来的,通常情况下没人会在函数内部修改参数值。这里仅拿出来讨论,有三种方式可以修改。 1,直接修改函数声明时的形参 代码如下:function f1(a) { alert(a); a = 1;//修改形参a alert(1 === a); alert(1 === ar

一道笔试题思考而来的,通常情况下没人会在函数内部修改参数值。这里仅拿出来讨论,有三种方式可以修改。

1,直接修改函数声明时的形参
代码如下:
function f1(a) {
alert(a);
a = 1;//修改形参a
alert(1 === a);
alert(1 === arguments[0]);
}
f1(10);

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

2,通过函数内部的arguments对象修改
代码如下:
function f2(a) {
alert(a);
arguments[0] = 1;//修改arguments
alert(1 === a);
alert(1 === arguments[0]);

}

效果同函数f1。

3,函数内部声明的局部变量与形参同名
代码如下:
function f3(a) {
alert(a);
var a = 1;//声明局部变量a且赋值为1
alert(1 === a);
alert(arguments[0]);
}
f3(10);

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

4,如果只是声明局部变量a,却不赋值,情况又不一样了
代码如下:
function f3(a) {
var a;//仅声明,不赋值
alert(a);
alert(arguments[0]);
}
f3(10);

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

文档

浅谈JavaScript函数参数的可修改性问题_javascript技巧

浅谈JavaScript函数参数的可修改性问题_javascript技巧:一道笔试题思考而来的,通常情况下没人会在函数内部修改参数值。这里仅拿出来讨论,有三种方式可以修改。 1,直接修改函数声明时的形参 代码如下:function f1(a) { alert(a); a = 1;//修改形参a alert(1 === a); alert(1 === ar
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top