JavaScript
发布时间:2022-04-16 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了浅谈JavaScript函数参数的可修改性问题,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
一道笔试题思考而来的,通常情况下没人会在函数内部修改参数值。这里仅拿出来讨论,有三种方式可以修改。
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函数参数的可修改性问题所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。